logback
logback的层次结构:Logger,Appender和Layout。Logger:为日志记录器。每个Logger对应一个命名实体,附属于某个特定的上下文。如Logger rootLogger = LoggerFactory.getLogger(MyLogger.class);Appender: 为日志输出器,如输出到控制台Console、文件、远程MySQL等Layout: 日志输入格式
Logger的Level继承Logger有四个级别,分别为TRACE, DEBUG, INFO, WARN 和 ERROR,它们的权重关系为TRACE < DEBUG < INFO < WARN < ERROR。为确保logger的层级继承,logback定义了一个root logger根日志记录器,默认级别DEBUG。其他任何日志记录器都将默认继承root logger,如果logger没有定义level级别,则继承根日志记录器的DEBUG level,否则覆盖根日志记录器的级别。
Logger的打印规则如果请求级别大于等于有效级别,那么日志记录器将会记录这些有效级别的日志信息。参照下图,如请求级别的DEBUG,大于等于有效级别的DEBUG,它的有效日志级别为TRACE、DEBUG
Appender和LayoutAppender: 指定日志的输出方式,如输出到控制台的ConsoleAppender,输出到文件的FileAppender,分块输出到文件的RollingFileAppender等; Appender有name和class连个属性,name指定该输出器的名称(以便logger引用),class用来指定输出策略,如class='ch.qos.logback.core.ConsoleAppender'。 可以将多个Appender添加到任意一个logger日志记录器。如果添加root logger根日志记录器,那么其他logger可以通过additivity属性来控制是否继承根日志记录器的输出器,如果选择继承,那么logger除了使用自身的Appender输出器,还会继承使用root logger的Appender输出器。Layout:指定Appender输出的格式,在
图示为一个相对完整logback配置文件。name为com.ura.service的logger的级别为INFO,并将日志信息传递给root日志记录器,最终将在控制台和文件中,输出TRACE、DEBUG和INFO的日志信息。
至此,logback的介绍已经完成。接下来将实例介绍其在spring boot中的使用。