En mis log4j.properties tengo:log4j dirige todas las salidas de registro de la salida estándar a pesar de que no se supone que
log4j.rootLogger=DEBUG,stdout
log4j.logger.notRootLogger=DEBUG,somewhereelse
El appenders stdout y somewhereelse se configuran adecuadamente tanto, la salida estándar escribe en la consola y escribe a somewhereelse un archivo.
En mi código en cada clase o yo Seleccione:
static Logger log = Logger.getLogger("notRootLogger);
^Cuando no quiero cosas pasando a la consola.
-O-
static Logger log = Logger.getRootLogger();
^Cuando hago.
¿Qué debo hacer en log4.properties para evitar que las cosas escritas en notRootLogger terminen en stdout? ¿Hay algún tipo de herencia de donde sea que el registrador de raíz escriba para continuar que debe ser desactivado de alguna manera?
No quiero tener que configurar un registrador para cada clase individualmente que solo quiero iniciar sesión en la consola.
¿Qué tiene esto que ver con la optimización? – skaffman
¿De qué manera es la "optimización prematura"? No es una "optimización" en absoluto. Ocurre que quieres una opción diferente de la predeterminada.Si el valor predeterminado fuera que la aditividad fuera falsa, eso significaría que un buen número de personas tendría que establecerlo explícitamente como verdadero. Sospecho que más gente lo quiere "verdadero" que "falso". –
la expectativa es bastante clara si ha leído los documentos de introducción de log4j o lo ha usado –