Logback使用小结

269 阅读1分钟

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:附加器
常用的附加器:ConsoleAppenderRollingFileAppenderFileAppender

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:输出日志,某个过滤器确定了是否打印,就不再次询问了
      
    

3. 配置demo参考

blog.csdn.net/myli92/arti…