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);   }
    }
  • 相关阅读:
    获取android手机内所有图片
    进程、线程与任务程序之间的关系
    wife的简单使用(一个简单的例子)
    [转载]mode_t等系统数据类型
    双调欧几里得旅行商问题
    HDU OJ分类
    CLRS2.4__逆序对
    [转载] Android 2.3.3 API 读取通讯录中电话号码的实例
    [转]有关TinyXML使用的简单总结
    ARG_MAX问题
  • 原文地址:https://www.cnblogs.com/gossip/p/14124919.html
Copyright © 2011-2022 走看看