zoukankan      html  css  js  c++  java
  • logback日志显示完整包名

     
    一、背景
      logback输出日志时,包名过长时会显示简称,比如o.a.d.config.bootstrap.DubboBootstrap
    完整包名是:org.apache.duboo.config.bootstrap.DubboBootstrap
      本文说明其原因并给出解决方法
     
     
    二、原因
      logback.xml配置文件引入了基础配置文件
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
        base.xml会自动加载两个append,其中CONSOLE的输出格式就会简化包名

    三、解决

      1. 不引入base.xml
      2. 使用自定义的Console

     <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%d{HH:mm:ss.SSS}  %-5level  [  %thread  ]  %logger Line:%-3L - %msg[Console]%n</pattern>
                <charset>utf-8</charset>
            </encoder>
    </appender>
     
    <root LEVEL="info">
            <appender-ref ref="Console"/>
    </root>

    四、其它

      1. 查看logback加载的Append集合(logback-core)
    class ch.qos.logback.core.joran.action.AppenderRefAction
    {
       HashMap<String, Appender<E>> appenderBag = (HashMap<String, Appender<E>>) ec.getObjectMap().get(ActionConst.APPENDER_BAG);
       Appender<E> appender = (Appender<E>) appenderBag.get(appenderName);
    }

      2. logback输出内容位置(Console、File等)(logback-core)

    class ch.qos.logback.core.OutputStreamAppender<E>
    {   protected void subAppend(E event)   {   byte[] byteArray = this.encoder.encode(event);   writeBytes(byteArray);   }
    }
  • 相关阅读:
    商品
    正向代理和反向代理
    JS中的bind方法
    本地安装并运行http-server、browser-sync、webpack
    NPM——常用命令
    两层遍历的递归写法
    vue-cli中的index.html ,main.js , App.vue的关系
    NPM的由来——为什么要使用NPM
    关于this的指向
    MapReduce编程模型详解(基于Windows平台Eclipse)
  • 原文地址:https://www.cnblogs.com/gossip/p/14124919.html
Copyright © 2011-2022 走看看