mkyong logger how example spring logging spring-boot yaml

logger - Cómo configurar el apéndice de archivo rodante dentro de Spring Boot''s application.yml



spring boot slf4j log4j (3)

¿Es posible configurar un appender de archivo diario dentro de la aplicación.yml de una aplicación Spring Boot?

es decir, filenamePattern: miarchivo.% d {aaaa-MM-dd-HH-mm-ss} .log

Tengo una configuración como la siguiente en mi archivo application.yml.

logging: file: /mypath/myfile.log level: mypackage: INFO

Gracias


Desde este link :

logging: file: logs/application-debug.log pattern: console: "%d %-5level %logger : %msg%n" file: "%d %-5level [%thread] %logger : %msg%n" level: org.springframework.web: ERROR com.howtodoinjava: INFO org.hibernate: ERROR


El apéndice de archivo predeterminado está basado en el tamaño (10 MB).

En su logback.xml solo configure una TimeBasedRollingPolicy como se describe here

Es decir algo como:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <appender name="ROLLIN" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_FILE}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> </appender> <root level="INFO"> <appender-ref ref="ROLLIN" /> </root> <logger name="org.springframework.web" level="INFO"/> </configuration>


Para anular el apéndice del archivo predeterminado y cambiarlo a rollover diario, podría usar un logback-spring.xml con el siguiente aspecto:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> <appender name="ROLLING-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${FILE_LOG_PATTERN}</pattern> </encoder> <file>${LOG_FILE}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> </appender> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="ROLLING-FILE"/> </root> </configuration>