设置具有审慎标志和文件位置的Logback RollingFileAppender
如何在Logback中创建一个设置具有审慎标志和文件位置的Logback RollingFileAppender,logback,Logback,如何在Logback中创建一个RollingFileAppender,它接受审慎标志并允许我指定日志文件的位置 我尝试了以下方法,但据我从文档中了解,logback不支持file属性。是否有其他方法设置日志文件位置 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${MY_LOG_LOCATION_PROP}/logs/mylog
RollingFileAppender
,它接受审慎标志并允许我指定日志文件的位置
我尝试了以下方法,但据我从文档中了解,logback不支持file属性。是否有其他方法设置日志文件位置
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MY_LOG_LOCATION_PROP}/logs/mylogfile.log</file>
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>mylogfile-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
${MY\u LOG\u LOCATION\u PROP}/logs/mylogfile.LOG
真的
mylogfile-%d{yyyy-MM-dd}。%i.log
%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n
您可以在文件名模式中包含路径:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/myapp/mylogfile-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
/var/log/myapp/mylogfile-%d{yyyy-MM-dd}.log
如果缺少文件
属性,将从文件名模式
的值推断当前活动的日志文件。因此,文件
属性不是强制性的。同样重要的是,在谨慎模式下,必须为空
以下是文档中关于以下内容的相关引用:
请注意,RollingFileAppender(的父级)中的文件属性
TimeBasedRollingPolicy)可以设置或省略。通过设置
包含FileAppender的文件属性,可以解耦
活动日志文件的位置和存档日志的位置
文件夹。当前日志将始终以指定的文件为目标
通过文件属性。因此,当前活动的
日志文件不会随时间而更改。但是,如果您选择省略
属性,则将为每个属性重新计算活动文件
基于fileNamePattern值的句点。下面的例子
应该澄清这一点
Julien我认为您不能在TimeBasedRollingPolicy中添加%I。您将在IntegerTokenConverter上获得IllegalArgumentException,其中包含logback无法将对象转换为特定类型的信息。