fileAppender将日志输出到文件中。这个不会定期回滚,但是可以通过设置文件名实现输出到不同的日志文件里;
主要参数:
encoder:设定输出格式
file:输出文件名
append:true:追加日志内容;false:清空原有内容后写入日志。默认true
filter:过滤日志级别(可不使用)
ps:
appender name="file" class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>warn</level>
</filter>
<append>
true
</append>
<file>log.txt</file>
<encoder>
<pattern>%d[%level]%M:%m%n</pattern>
</encoder>
</appender>
1,name可自定义
2,文件不存在时会自动创建
3,file标签可使用变量来实现定期不同文件记录日志
ps:<!-- 当前时间-->
<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmm" />
<appender name="file" class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>warn</level>
</filter>
<append>
true
</append>
<file>log-${bySecond}.txt</file>
<encoder>
<pattern>%d[%level]%M:%m%n</pattern>
</encoder>
</appender>
上述就是每分钟生成一个新的日志(指的是当前有日志输出,当前没日志时不会创建文件)
4,如果<file>标签内引用的名称未定义,日志也会写入到文件中,但文件名比较特殊
ps:<file>log-${diy.name}.txt</file>
但是diy.name未定义,则输出的日志名为 log-diy.name_IS_UNDEFINED.txt
可以看出追加了IS_UNDEFINED一串