OPCIÓN 1: especifique la ubicación del archivo de configuración de inicio de sesión con la propiedad del sistema logback.configurationFile. De hecho, esto le permite tener múltiples archivos de configuración por proyecto. Según el logback documentation, el valor de esta propiedad puede ser una URL, un recurso en la ruta de clase o una ruta a un archivo externo a la aplicación. Por ejemplo:
-Dlogback.configurationFile=/path/to/config.xml
OPCIÓN 2: utilizar la sustitución de variables para establecer el nombre del archivo de registro con una propiedad del sistema. Por ejemplo:
- Su appender puede establecer el archivo de la siguiente manera:
<file>/var/tmp/${mycompany.myapplication}.log</file>
- Y a continuación, se puede especificar el valor de esa variable en el lanzamiento de Java:
-Dmycompany.myapplication=SomeUtility
OPCIÓN 3: establecer el nivel del registrador con una propiedad del sistema. Esto le permitirá registrar más/menos. Por ejemplo:
- poner esto en su archivo de configuración logback:
<logger name="com.mycompany" level="${mycompany.logging.level:-DEBUG}"/>
Esto hace que el paquete especificado para iniciar la sesión en el nivel de depuración por defecto.
- Si desea cambiar el nivel de registro de información en una aplicación específica, luego pase el siguiente para Java en el lanzamiento de esta solicitud:
-Dmycompany.logging.level=INFO
Opción 4: añadir/eliminar una appender pasando un sistema de propiedad del parámetro de línea de comandos a java. Esto le permitirá iniciar sesión en diferentes lugares. Tenga en cuenta que conditional processing requires janino. Por ejemplo:
- poner esto en su archivo de configuración logback donde quiera que pondría
<appender-ref>
, cambiando el valor ref
a uno de sus propios <appender>
s, por supuesto:
<if condition="property("mycompany.logging.console").equalsIgnoreCase("true")"> <then><appender-ref ref="STDOUT"/></then></if>
- Si desea habilitar esta appender, a continuación, pasar a la siguiente para java cuando se inicia la aplicación:
-Dmycompany.logging.console=true
en cuanto a las propiedades del sistema, que ellos pasan a java como -D
argumentos, p.
java -Dmy.property=/path/to/config.xml com.mycompany.MyMain
¿Cuál es la "configuración específica" que necesita para sus diferentes piezas? –
Nada realmente "especial" ... en algunas utilidades necesito registrar más, en otras necesito registrar menos. Esta es la parte más importante para mí.También quiero redirigir la salida en diferentes archivos (idealmente basados en la clase principal). – maaartinus
Parece que debería poder gestionarlo todo desde un solo archivo de configuración. No estoy seguro de qué quiere decir con el bit "Eclipse-específico del proyecto" en su pregunta. ¿Puedes aclarar qué es exactamente lo que buscas? –