<?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">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d - %c -%-4r [%t] %-5p %x - %m%n" />
</layout>
<!--限制输出级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="DEBUG" />
</filter>
</appender>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xx_defaultFile.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</appender>
<appender name="FILE_OP" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_operate.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</appender>
<appender name="FILE_ERROR" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xx_error.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="INFO" />
</filter>
</appender>
<appender name="FILE_WEBSERVICE" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_webService.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<!-- Rollover at the top of each hour -->
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</layout>
</appender>
<appender name="FILE_IBATIS" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_ibatis.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="50MB" />
<param name="MaxBackupIndex" value="100" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<!-- Rollover at the top of each hour -->
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</layout>
</appender>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<!-- 设置监视器输出方式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
</layout>
<!--滤镜设置输出的级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="DEBUG" />
<param name="levelMax" value="ERROR" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="IBatis" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!--通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
<category name="com.xxx.xx">
<level value="INFO" />
<appender-ref ref="FILE" />
</category>
<!--通过<logger></logger>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
<logger name="com.xxx.xx.framework" additivity="true">
<level value="ERROR" />
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.xxx.xx.framework.dao" additivity="true">
<level value="ERROR" />
<appender-ref ref="CONSOLE" />
</logger>
<logger name="java.sql.Connection" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="java.sql.Statement" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="java.sql.PreparedStatement" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_IBATIS" />
</logger>
<logger name="java.sql.ResultSet" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_IBATIS" />
</logger>
<logger name="com.xxx.xx.framework.log.LogAspect" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_OP" />
</logger>
<logger name="com.xxx.xx.framework.exception.interceptor.ExceptionInterceptor" additivity="true">
<level value="DEBUG" />
<appender-ref ref="FILE_ERROR" />
</logger>
<!-- webService调试日志 -->
<logger name="com.xxx.xx.app" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_WEBSERVICE" />
</logger>
<logger name="com.xxx.xx.webservice" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_WEBSERVICE" />
</logger><!--
<logger name="cn.xxx.bpm.business" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
<logger name="cn.xxx.bpm.dao" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
<logger name="cn.xxx.bpm.listener" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
--><root><!-- 设置接收所有输出的通道 -->
<priority value="WARN" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d - %c -%-4r [%t] %-5p %x - %m%n" />
</layout>
<!--限制输出级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="DEBUG" />
</filter>
</appender>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xx_defaultFile.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</appender>
<appender name="FILE_OP" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_operate.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</appender>
<appender name="FILE_ERROR" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xx_error.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
</layout>
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="INFO" />
</filter>
</appender>
<appender name="FILE_WEBSERVICE" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_webService.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="50" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<!-- Rollover at the top of each hour -->
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</layout>
</appender>
<appender name="FILE_IBATIS" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道file和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="${catalina.home}/logs/xxx_ibatis.log" /><!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxFileSize" value="50MB" />
<param name="MaxBackupIndex" value="100" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %d{yyy-MM-dd HH:mm:ss} (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<!-- Rollover at the top of each hour -->
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<!--限制输出级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR"/>
<param name="LevelMin" value="INFO"/>
</filter>
</layout>
</appender>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<!-- 设置监视器输出方式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
</layout>
<!--滤镜设置输出的级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="DEBUG" />
<param name="levelMax" value="ERROR" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="IBatis" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!--通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
<category name="com.xxx.xx">
<level value="INFO" />
<appender-ref ref="FILE" />
</category>
<!--通过<logger></logger>的定义可以将各个包中的类日志输出到不同的日志文件中 -->
<logger name="com.xxx.xx.framework" additivity="true">
<level value="ERROR" />
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.xxx.xx.framework.dao" additivity="true">
<level value="ERROR" />
<appender-ref ref="CONSOLE" />
</logger>
<logger name="java.sql.Connection" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="java.sql.Statement" additivity="false">
<level value="DEBUG" />
</logger>
<logger name="java.sql.PreparedStatement" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_IBATIS" />
</logger>
<logger name="java.sql.ResultSet" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_IBATIS" />
</logger>
<logger name="com.xxx.xx.framework.log.LogAspect" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_OP" />
</logger>
<logger name="com.xxx.xx.framework.exception.interceptor.ExceptionInterceptor" additivity="true">
<level value="DEBUG" />
<appender-ref ref="FILE_ERROR" />
</logger>
<!-- webService调试日志 -->
<logger name="com.xxx.xx.app" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_WEBSERVICE" />
</logger>
<logger name="com.xxx.xx.webservice" additivity="false">
<level value="INFO" />
<appender-ref ref="FILE_WEBSERVICE" />
</logger><!--
<logger name="cn.xxx.bpm.business" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
<logger name="cn.xxx.bpm.dao" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
<logger name="cn.xxx.bpm.listener" additivity="false">
<level value="DEBUG" />
<appender-ref ref="FILE_WEBSERVICE" /> 与前面的通道id相对应
<appender-ref ref="STDOUT" />
</logger>
--><root><!-- 设置接收所有输出的通道 -->
<priority value="WARN" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>