Il logger dovrebbe essere dichiarato statico o no? Di solito ho visto due tipi di dichiarazione per un logger:
Log log protetto = nuovo Log4JLogger (aClass.class);
o
log log statico privato = nuovo Log4JLogger (aClass.class);
Quale dovrebbe essere usato? quali sono i pro e i contro di entrambi?
staticè un riferimento per classe. non statico è un riferimento per istanza (+ inizializzazione). Quindi, in alcuni casi, quest'ultimo ha un impatto significativo sulla memoria se si hanno tonnellate di istanze. Non usare mai il non statico in un oggetto frequente . Uso sempre la versione statica. (che dovrebbe essere maiuscolo LOG )
private static final Log logminuscolo. Il logger non è una costante, il logger è un oggetto finale statico (che può essere mutato). Personalmente lo uso sempre logger.