example classic java maven log4j logback

java - classic - archivo y stdout appenders en logback.xml



logback maven (2)

Prueba esto:

<configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${user.home}/database.log</file> <append>false</append> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <logger name="jdbc" level="OFF" /> <logger name="jdbc.sqlonly" level="INFO" additivity="false"> <appender-ref ref="FILE" /> </logger> <root level="ERROR"> <appender-ref ref="STDOUT" /> </root> </configuration>

Tengo 2 archivos logback.xml en proyectos separados. Uno registra JDBC SQL en un archivo utilizando un FileAppender y el otro registra los errores en la salida estándar utilizando un ConsoleAppender.

Aquí están mis archivos logback.xml para cada uno.

Registro de archivos

<configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${user.home}/database.log</file> <append>false</append> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <logger name="jdbc" level="OFF" /> <logger name="jdbc.sqlonly" level="debug" /> <root level="info"> <appender-ref ref="FILE" /> </root> </configuration>

Consola de registro

<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <logger name="jdbc" level="OFF" /> <root level="ERROR"> <appender-ref ref="STDOUT" /> </root> </configuration>

Estoy fusionando estos dos proyectos y quiero poder continuar registrando el nivel de información SQL en el archivo y los errores en STDOUT.

He agregado los dos agregadores al logback.xml pero no estoy seguro de qué hacer con los registradores y las etiquetas de raíz en mi nuevo logback.xml .


Si desea ver la salida en el archivo y la consola, use dos appender-ref como esta:

<configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${user.home}/database.log</file> <append>false</append> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <logger name="jdbc" level="OFF" /> <logger name="jdbc.sqlonly" level="INFO" additivity="false"> <appender-ref ref="FILE" /> </logger> <root level="ERROR"> <appender-ref ref="STDOUT" /> <!-- Every log will apear on screen log --> <appender-ref ref="FILE" /> <!-- Every log will apear on file --> </root> </configuration>