logback 基本配置解析

Appender

你可以定义多个appender

<appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender">
    <layout>
        <pattern>%msg%n</pattern>
    </layout>
</appender>
<appender name="File-Appender" class="ch.qos.logback.core.FileAppender">
    <file>${LOG_PATH}/logfile-${timestamp-by-second}.log</file>
    <encoder>
        <pattern>%msg%n</pattern>
        <outputPatternAsHeader>true</outputPatternAsHeader>
    </encoder>
</appender>

nameclass 为必须的属性

class 标志full qualified 的类名

name 属性代表的是这个appender 会被引用是使用的值

我们定义了一个名为File-Appender的文件追加器。此appender写入由<file>元素定义的文件。

Note: Encoders were introduced in Logback version 0.9.19. Due to the benefits that encoders provide, as explained here, it is recommended to use encoders instead of layouts. As a matter of fact, Logback has removed support for layouts in FileAppender and its sub-classes from version 0.9.19 onwards.

Logger

<logger name="guru.springframework.blog.logbackxml" level="info" additivity="fale">
   <appender-ref ref="File-Appender"/>
   <appender-ref ref="Console-Appender"/>
</logger>
<root>
    <appender-ref ref="Console-Appender"/>
</root>

在上面的代码中,我们定义了两个记录器。由<logger>定义的第一个记录器配置guru.springframework.blog.logbackxml包下的所有记录器以使用文件追加器。 <root>定义的第二个是配置为使用控制台appender的根记录器。

activity

这里看到我们在logger中添加了activity属性为false
如果不加这个属性的话,root中如果同时添加了同一个appender,
例如这里的Console-Appender,那么会在console中同时打印两次相同的日志

Note:root 保底的logger ,如果定义的logger中的level属性没有配置,首先会去查看是否继承体系中是否有上级logger,如果有则使用上级的,直到最后的root 为止

logger 的分层命名规则

Loggers维护分层命名规则。例如,名为guru的logger是记录器的父记录,名为guru.springframework,logger的祖先名为guru.springframework.blog。

root -> guru -> guru.spring -> guru.spring.log

这里是按照包的命名来解析继承关系

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 1,980评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 3,420评论 0 0
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,161评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,232评论 1 13
  • Log Java日志:(slf4j、log4j、logback、common-logging ) slf4j 是规...
    年少懵懂丶流年梦阅读 18,025评论 1 11

友情链接更多精彩内容