Nei miei log4j.properties ho:log4j dirige tutto l'output di log su stdout, anche se non dovrebbe
log4j.rootLogger=DEBUG,stdout
log4j.logger.notRootLogger=DEBUG,somewhereelse
L'appenders stdout e somewhereelse sono entrambi configurati correttamente, stdout scrive alla console e scrive somewhereelse a un file.
Nel mio codice in ogni classe o io impostare uno:
static Logger log = Logger.getLogger("notRootLogger);
^Quando io non voglio roba in corso alla console.
OPPURE
static Logger log = Logger.getRootLogger();
^Quando faccio.
Cosa devo fare in log4.properties per interrompere le operazioni scritte su notRootLogger che terminano in stdout? Esiste un qualche tipo di ereditarietà dovunque il logger root scriva per andare avanti che deve essere disattivato in qualche modo?
Non voglio dover configurare un logger per ogni singola classe individualmente che voglio solo accedere alla console.
Cosa c'entra questo con l'ottimizzazione? – skaffman
In che modo "ottimizzazione prematura"? Non è affatto un "ottimizzazione". Succede così che tu voglia un'opzione diversa da quella predefinita.Se l'impostazione predefinita fosse che l'additività fosse falsa, ciò significherebbe che un buon numero di altre persone avrebbe dovuto impostarlo esplicitamente su true. Sospetto che più persone lo desiderino "vero" che "falso". –
l'aspettativa è abbastanza chiara se hai letto i documenti di intro log4j o se li hai usati –