1. logback 每次运行创建新的日志文件
<appender name="FILE_NORMAL" class="ch.qos.logback.core.FileAppender">
<file>${LOG_HOME}/${FILE_DEBUG}</file>
<append>false</append>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
2. logback 按级别输出到不同文件
- 在 appender 中增加Filter
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
<!-- 只有大于或等于指定级别的日志才会输出 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
- 在 logger 中定义多个 Appender
<logger name="cn.xxx.xxx.cle" level="debug" additivity="false">
<appender-ref ref="FILE_NORMAL"/>
<appender-ref ref="STDOUT"/>
</logger>
3. Logback 控制台中文乱码
在 appender 的 encoder 中设置 charset 节点。
<!-- 打印到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
[ %-5level] [%date{yyyy-MM-dd HH:mm:ss}] %logger{96} [%line] - %msg%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
4. Logback 输出路径设置
<property name="LOG_HOME" value="/logs"/>
说明
- value=“logs” 保存到程序运行目录,在tomcat中为bin目录
- value=“/logs” 保存到运行目录所在系统盘符根目录
- value=“…/logs” 保存到程序运行目录的父目录
附件
常用 Filter
filter 学习
https://blog.csdn.net/Doraemon_wu/article/details/52072360
- LevelFilter
如果等于配置的level,则过滤器通过,否则拒绝。
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
- ThresholdFilter
当 logging event 的 level 大于等于配置等级,才能通过过滤器。
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>