tomcat 日志输出由commons-logging更换为logback

原创
2018/01/03 02:14
阅读数 1.2W
AI总结

由于最近在测试环境找问题的时候总是很难定位,但是本地却没有出现任何意外,所以为了修改日志数出级别煞费苦心。幸好看到了logback这个东东对Tomcat支持很棒,所以就折腾了一下。。

 

首先需要去logback官网 : https://logback.qos.ch/

下载对应版本的logback,然后把logback-core-1.2.3.jar和 logback-access-1.2.3.jar 放入Tomcat的lib目录中,然后在tomcat server配置文件的host节点中添加一条

        <Valve className="ch.qos.logback.access.tomcat.LogbackValve"/>

删除conf中commons-logging.properties配置文件,添加一个logback-access.xml 的配置文件

 

然后将如下配置复制到该文件中(摘自官网)

<configuration>
  <!-- always a good activate OnConsoleStatusListener -->
  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />  

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%h %l %u %user %date "%r" %s %b</pattern>
    </encoder>
  </appender>

  <appender-ref ref="STDOUT" />
</configuration>

然后启动Tomcat,会输出

 

这样的日志,说明你的logback与Tomcat已经完美的整合到一起

 

另: logback增加了一个叫 Viewing status messages 的组件,看着满高大上的样子,顺手就集成进来了。。集成方式非常简单,只需要在根web.xml中加入

<servlet>
    <servlet-name>AccessViewStatusMessages</servlet-name>
    <servlet-class>ch.qos.logback.access.ViewStatusMessagesServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AccessViewStatusMessages</servlet-name>
    <url-pattern>/lbAccessStatus</url-pattern>
  </servlet-mapping>

该servlet,即可。Tomcat启动之后访问

http://localhost:{port}/lbAccessStatus 即可出现对应的状态信息

展开阅读全文
加载中
点击加入讨论🔥(6) 发布并加入讨论🔥
6 评论
24 收藏
1
分享
AI总结
返回顶部
顶部