3.1 日志类型与级别Tomcat 日志分为下面5类:
catalina : 相当命令行输出日志
localhost : 相当于localhost主机的命令行输出日志
manager : 管理的日志
admin host-manager : 应该是虚拟主机方面
每类日志的级别分为如下 7 种:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
3.2 日志级别的设定方法tomcat每天都会在logs目录生成文件:catalina.out、catalina.Y-M-D.log、localhost.Y-M-D.log、
manager.Y-M-D.log、host-manager.Y-M-D.log可以通过修改conf\logging.properties文件来改变生成log的方式。
示例:设定某类日志的级别(注:catalina日志会输出catalina.Y-M-D.log,
不同于catalina.out,catalina.out对应于java.util.logging.ConsoleHandler配置)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- 控制台日志,编码阶段使用 -->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"
additivity="false">
<param name="Target" value="System.out" />
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %l%n%p: %m%n" />
</layout>
</appender>
<!-- 控制台异步日志,开发环境使用,方便调试 -->
<appender name="ASYNC_CONSOLE" class="org.apache.log4j.AsyncAppender"
additivity="false">
<param name="BufferSize" value="64" />
<param name="LocationInfo" value="true" />
<appender-ref ref="CONSOLE" />
</appender>
<!-- JSSB框架底层日志,分析框架问题时使用 -->
<appender name="JSSB_LOG" class="org.apache.log4j.DailyRollingFileAppender"
additivity="false">
<param name="File" value="jssb.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %l%n%p: %m%n" />
</layout>
</appender>
<!-- 异步JSSB框架底层日志,生产环境使用 -->
<appender name="ASYNC_JSSB_LOG" class="org.apache.log4j.AsyncAppender"
additivity="false">
<param name="BufferSize" value="512" />
<param name="LocationInfo" value="true" />
<appender-ref ref="JSSB_LOG" />
</appender>
<!-- 业务日志,生产环境使用 -->
<appender name="BUSINESS_LOG" class="org.apache.log4j.DailyRollingFileAppender"
additivity="false">
<param name="File"
value="/opt/tomcat-7.0.54/logs/emplog/business/business.log" />
<!-- <param name="File" value="E:/log/emmlog/businesslog/business.log"
/> -->
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %l%n%p: %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="#$@@$#" />
<param name="AcceptOnMatch" value="false" />
</filter>
</appender>
<!-- 业务日志,生产环境使用 -->
<appender name="DATA_LOG" class="org.apache.log4j.DailyRollingFileAppender"
additivity="false">
<param name="File" value="/opt/tomcat-7.0.54/logs/emplog/data/data.log" />
<!-- <param name="File" value="E:/log/emmlog/datalog/data.log" /> -->
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %l%n%p: %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="$@##@$" />
<param name="AcceptOnMatch" value="false" />
</filter>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="error" />
<param name="LevelMax" value="error" />
</filter>
<!-- <filter class="org.apache.log4j.varia.DenyAllFilter"> <param key=""
</filter> -->
</appender>
<!-- 异步业务日志,生产环境使用 -->
<appender name="ASYNC_BUSINESS_LOG" class="org.apache.log4j.AsyncAppender"
additivity="false">
<param name="BufferSize" value="256" />
<param name="LocationInfo" value="true" />
<appender-ref ref="BUSINESS_LOG" />
</appender>
<!-- EHCACHE日志,生产环境使用 -->
<appender name="EHCAHE_LOG" class="org.apache.log4j.DailyRollingFileAppender"
additivity="false">
<!-- <param name="File" value="c:/business.log" /> -->
<param name="File" value="/opt/tomcat-7.0.54/logs/emplog/ehcache.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %l%n%p: %m%n" />
</layout>
</appender>
<!-- 异步业务日志,生产环境使用 -->
<appender name="ASYNC_EHCAHE_LOG" class="org.apache.log4j.AsyncAppender"
additivity="false">
<param name="BufferSize" value="256" />
<param name="LocationInfo" value="true" />
<appender-ref ref="EHCAHE_LOG" />
</appender>
<!-- 特定需要记录日志的包,如框架日志 -->
<!-- <category name="com.zte.itp"> <param name="additivity" value="false"
/> <priority value="WARN" /> <appender-ref ref="ASYNC_JSSB_LOG" /> </category> -->
<!-- 这个配置对性能影响很大,发版的时候一定要改成ERROR
<category name="java.sql">
<priority value="ALL" />
<appender-ref ref="CONSOLE" />
</category>
-->
<category name="com.zte.html5">
<priority value="DEBUG" />
<appender-ref ref="CONSOLE" />
</category>
<!-- ehcache -->
<category name="net.sf.ehcache">
<priority value="ALL" />
<appender-ref ref="CONSOLE" />
</category>
<category name="org.jgroups">
<priority value="ALL" />
<appender-ref ref="CONSOLE" />
</category>
<category name="org.springframework.cache">
<priority value="ALL" />
<appender-ref ref="CONSOLE" />
</category>
<!-- 默认所有业务日志异步输出到文件business.log; 其他特殊框架性的日志输出到jssb.log -->
<root>
<priority value="debug" />
<appender-ref ref="CONSOLE" />
<!--
<appender-ref ref="BUSINESS_LOG" />
<appender-ref ref="ASYNC_BUSINESS_LOG" />
<appender-ref ref="DATA_LOG" />
<appender-ref ref="EHCAHE_LOG" />
<appender-ref ref="ASYNC_EHCAHE_LOG" /> -->
<!-- -->
</root>
</log4j:configuration>