简体   繁体   English

Spring-boot-每个级别的日志文件的应用程序属性配置

[英]Spring-boot - application properties configuration for log file per level

I'm trying to get separate log file based on log levels, for eg. 我正在尝试基于日志级别获取单独的日志文件,例如。 separate file for debug, info, error 用于调试,信息,错误的单独文件

My current configuration in application.properties file only keeps in single file, per date 我在application.properties文件中的当前配置每个日期仅保存在一个文件中

logging.file=myservice-%d{yyyyMMdd}.log
logging.level.org.springframework.boot=DEBUG
logging.level.org.springframework.web=DEBUG

I want separate log files created as 我想要创建为单独的日志文件

  • myservice-info-20190516.log
  • myservice-debug-20190516.log
  • myservice-error-20190516.log

You can easily do that with Logback . 您可以使用Logback轻松做到这一点 You can create different appenders for each log level and you're done. 您可以为每个日志级别创建不同的appenders ,然后完成。

Using the recommended and default implementation Logback of the SLF4J façade, you need to configure appender for each level of the log. 使用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> 

And attach them to the logger distinguished by the level: 并将它们附加到按级别区分的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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM