美文网首页程序员Java漫谈
logback 基本配置解析

logback 基本配置解析

作者: 聊聊其他 | 来源:发表于2019-02-18 10:11 被阅读11次

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

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

相关文章

网友评论

    本文标题:logback 基本配置解析

    本文链接:https://www.haomeiwen.com/subject/lygoeqtx.html