Kto neloguje, nech ani nekompiluje. Koľkokrát ste napísali:
private final Logger logger = LoggerFactory.getLogger(Service.class);
S vynálezom od pána Eclipsa to nemusíte robiť viac. Stačí definovať šablónu kódu.
V Preferences | Java | Editor | Templates si zakliknite New… položku a vyplňte:
- name: skratka, ktorou ju budete vyvolávať. Čo takto
log
? Aleboslf
? - popis: obkec okolo skratky
pattern: kód, ktorý sa nahraní namiesto
name
:${:import(org.slf4j.Logger, org.slf4j.LoggerFactory)} private static final Logger logger = LoggerFactory.getLogger(${enclosing_type}.class);
Premenná
${enclosing_type}
udáva “dátový typ, v ktorom a práve nachádzam”, čiže aktuálnu triedu. Ak ste vService.java
, doplní saService
.Úvodná deklarácia sa postará o automatické importnutie príslušných tried z
slf4j
.${:import(org.slf4j.Logger, org.slf4j.LoggerFactory)}
OdOKujte, a vyskúšajte v editore: napíšte l
, o
, g
, Ctrl-Medzera a automaticky sa doplní, čo ste si nadefinovali. A to vrátane importov.
namiesto logger len log (pre definiciu), potom este zadefinovat sablony logd (pre log.debug(…)), loge (pre log.error(…)) atd. je to sice iba par pismenok ale ked tych pismenok napisete denne tak dve-tri tisicky tak sa to uz pocita…
To je tiez skvely napad! (Android to ma zabudovane vo svojich strasnych nazvoch metod ako “logd” ;-))