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>