zoukankan      html  css  js  c++  java
  • logback:root和logger

    root可以理解为一个根节点,而其他的logger都可以看做root的子节点

    所以默认root配置的appender属性logger都是使用的,如果不想使用可以logger定义时增加属性additivity="false"

    ps:

    <logger name="net.jy.redis.controller.logback.LogbackController" level="warn" additivity="false">
    <appender-ref ref="stdout"/>
    </logger>

    因为上述关系,在class类使用getLogger("name/class")引入logger时,如果"name/class"未在配置文件中找到,则默认使用root配置

    如果匹配到"name/class",则使用匹配到的appender配置的输出,同时可自行选择是否关闭root配置的appender输出

    在程序中经常使用

    LoggerFactory.getLogger(Test.class);
    其实这种最终转换的logger名成就是Test所在包路径+Test。logback会以这种名称在logback.xml中找相匹配的logger

    ps:
    package net.jy.redis.controller.logback;

    public class LogbackController {
     
    private final static Logger logger = LoggerFactory.getLogger(LogbackController.class);

    此处代码省略。。。
    }

    logback.xml
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">


    <!-- 定义日志格式-->
    <encoder>

    <pattern>
    %d[%level]%M:%m%n
    </pattern>
    </encoder>

    </appender>
     
    <logger name="net.jy.redis.controller.logback.LogbackController" level="warn" additivity="false">
    <appender-ref ref="stdout"/>
    </logger>

    此时日志输出的内容就是以stdout的appender格式输出
     

  • 相关阅读:
    百度地图API-自定义图标覆盖物
    笔记-前端学习路线
    当div自适应的高度超过预设的高度的时候出现滚动条的办法
    有关前端的书籍
    js-方法
    正在进行中
    ARM的启动和中断向量表
    ARM中的总线
    NOR FLASH与NAND FLASH的区别
    ARM流水线关键技术分析与代码优化
  • 原文地址:https://www.cnblogs.com/jybky/p/12201035.html
Copyright © 2011-2022 走看看