如何为TimeBasedRollingPolicy

时间:2018-01-04 10:09:45

标签: spring spring-boot logging

我希望每天生成日志,因此我的logbak.xml工作正常。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="SAVE-TO-FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern> %d{dd-MM-yyyy HH:mm:ss.SSS} - %msg%n</Pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/Users/administrator/Desktop/app/logs/log_%d{dd-MM-yyyy}.log
            </fileNamePattern>
        </rollingPolicy>

    </appender>
        <root level="info">
        <appender-ref ref="SAVE-TO-FILE" />
    </root>

</configuration>

但是,我想通过使用logbak.properties文件来实现同样的目的。但我可以找到TimeBasedRollingPolicy的任何例子。我找不到common-application-properties

中滚动政策的属性
logging.path= //file path   
logging.file= //file name       
logging.pattern.file= //file logging pattern
**What is for TimeBasedRollingPolicy ??**

简而言之,如何在.properties文件中提供滚动策略?

1 个答案:

答案 0 :(得分:0)

Slf4j是一个日志记录抽象,只需包含api jar就可以包含在项目中。您可以自由使用任何日志记录实现,如log4j或logback。 因此,您可以通过简单地在maven中提供依赖关系来使用Log4J:

<dependency> 
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.8.0-beta0</version>
</dependency>

然后创建配置文件 log4j.properties 并输入以下内容:

log4j.rootLogger=INFO, loggerId  
log4j.appender.loggerId=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.loggerId.layout=org.apache.log4j.PatternLayout  
log4j.appender.loggerId.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n  
log4j.appender.loggerId.File=d:/logs/example  
log4j.appender.loggerId.DatePattern='-'yyyyMMdd'.log'

希望这会奏效。