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

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

 

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

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

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

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

 

而后将以下配置复制到该文件中(摘自官网)spa

<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已经完美的整合到一块儿code

 

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

<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启动以后访问xml

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

相关文章
相关标签/搜索