由于最近在测试环境找问题的时候总是很难定位,但是本地却没有出现任何意外,所以为了修改日志数出级别煞费苦心。幸好看到了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 即可出现对应的状态信息