Logback使用小结
1. 单独使用的时候引入jar包即可
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.3.0-alpha12</version>
</dependency>
记录器是单例的
getLogger后边带的是name
所有的记录器都是缓存在map当中的
private static final ch.qos.logback.classic.Logger classicLogger = (ch.qos.logback.classic.Logger)LoggerFactory.getLogger("org.example.APP");
这么一个语句会同时创建root、org、example、APP四个记录器
logback是在log4j的基础上开发的一套日志框架,是完全实现slf4j接口的API(门面系统)
单独jar应用的话是logback.xml, springboot集成的是logback.xml
APPENDER:附加器
常用的附加器:ConsoleAppender、RollingFileAppender、FileAppender
2. APPENDER
把附加器加载到记录器中
logger{length}:用来输出记录器名称,有时候我们日志中缺少哪一行打的错误日志加上 %line
末尾加个%n,下回输出日志就换行
%50date:日期占据50个字符,右对齐,不够左边补充空格,加一个-就是左对齐了
<append>false</append>:是否追加日志,不然会清空的
滚动策略:基于时间的滚动策略 TimeBasedRollingPolicy
基于大小和时间的滚动策略:SizeAndTimeBasedRollingPolicy
log-roll-%d{yyyy/MM-dd HH:mm}.log: 每分钟生成一个日志文件
file和fileNamePattern的区别:file是当前正在工作的文件名称,当满足滚动策略的时候,会把myrolllog.log重新命名成log-%d{yyyy-MM-dd}.log
log-timesizeroll-%d{yyyy-MM-dd HH-mm}.%i.log: 每分钟产生的日志再按大小编号
一个附加器中可以包含多个过滤器DENY:不输出日志,ACCEPT:输出日志,某个过滤器确定了是否打印,就不再次询问了