我正在尝试基于日志级别获取单独的日志文件,例如。用于调试,信息,错误的单独文件
我当前在application.properties文件中的配置每个日期仅保存在一个文件中
logging.file=myservice-%d{yyyyMMdd}.log
logging.level.org.springframework.boot=DEBUG
logging.level.org.springframework.web=DEBUG
我希望将单独的日志文件创建为
myservice-info-20190516.log
myservice-debug-20190516.log
myservice-error-20190516.log
答案 0 :(得分:0)
您可以使用Logback轻松地做到这一点。您可以为每个日志级别创建不同的appenders
。
答案 1 :(得分:0)
使用SLF4J外墙的建议的默认实现Logback,您需要为日志的每个级别配置appender
。
<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>debug-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>info-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>error-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
</rollingPolicy>
</appender>
并将它们附加到按级别区分的logger
:
<logger name="com.bla" level="DEBUG" additivity="true">
<appender-ref ref="debugAppender"/>
</logger>
<logger name="com.bla" level="INFO" additivity="true">
<appender-ref ref="infoAppender"/>
</logger>
<logger name="com.bla" level="ERROR" additivity="true">
<appender-ref ref="errorAppender"/>
</logger>