• 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);   }
    }
  • 相关阅读:
    关于在UNIcode环境下得TCHAR转string类型以及string转TCHAR
    c++重要知识点
    c语言五子棋
    修改单词首字母大小写
    MFC界面分割以及挂载
    c语言操作文件函数大全
    字符串的分割
    简单售货机代码
    Oracle数据库的查询
    oracle数据库四大语言
  • 原文地址:https://www.cnblogs.com/gossip/p/14124919.html
Copyright © 2020-2023  润新知