| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>	<!-- org.apache.log4j.ConsoleAppender (输出到控制台) -->	<!-- org.apache.log4j.FileAppender (输出到文件) -->	<!-- org.apache.log4j.DailyRollingFileAppender (每天输出产生一个日志文件) -->	<!-- org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件), 可通过 log4j.appender.R.MaxFileSize=100KB 		设置文件大小, 还可通过 log4j.appender.R.MaxBackupIndex=1设置为保存一个备份文件。 -->	<!-- org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方) -->	<!--输出通道"STDOUT",输出所有信息到控制台 (也就是System.out.println()) -->	<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">		<!-- 输出自定义内容的LOG -->		<layout class="org.apache.log4j.PatternLayout">			<!-- 输出时Log内容的具体定义 -->			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%c] %-5p %m%n" />		</layout>	</appender>	<!--输出通道"DEBUG",输出方式是:只输出DEBUG级别的LOG,并文件大小到达指定大小时产 生新的Log文件 -->	<appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">		<!-- 输出Log文件的路径和文件名 -->		<param name="File" value="${app.root}/logs/app_debug.log" />		<!-- TOMCAT等WEB服务器重新启动时,是否插入到原有的LOG文件里,true 插入false 新 建 -->		<param name="Append" value="true" />		<!-- 只输出定义的级别以上的LOG,因为在下面过滤LOG信息所以屏蔽 -->		<!-- param name="Threshold" value="info"/ -->		<!-- 因选择了RollingFileAppender了才有下面两个 MaxFileSize,MaxBackupIndex 选项 -->		<!-- MaxFileSize是一个LOG文件的最大的文件大小,当LOG文件超过这个值时,自动转成 *.log.1的LOG文件 -->		<param name="MaxFileSize" value="5000KB" />		<!-- MaxBackupIndex生成自动转成 *.log.1的LOG文件的个数,设置3时最多生成3个LOG 备份文件,它们是[*.log.1][*.log.2][*.log.3] -->		<param name="MaxBackupIndex" value="3" />		<!-- 输出时Log内容的具体定义 -->		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<!-- 过滤输出时Log内容,在这里,LevelMin,LevelMax都定义了DEBUG, 所以只输出DEBUG 级别LOG的数据 -->		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="DEBUG" />			<param name="LevelMax" value="DEBUG" />		</filter>	</appender>	<!-- 输出通道"INFO",输出方式是:只输出INFO级别的LOG,并文件大小到达指定大小时产生 新的Log文件 -->	<appender name="INFO" class="org.apache.log4j.RollingFileAppender">		<param name="File" value="${app.root}/logs/app_info.log" />		<param name="Append" value="true" />		<param name="MaxFileSize" value="5000KB" />		<param name="MaxBackupIndex" value="3" />		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="INFO" />			<param name="LevelMax" value="INFO" />		</filter>	</appender>	<!-- 输出通道"WARN",输出方式是:只输出WARN级别的LOG,并文件大小到达指定大小时产 生新的Log文件 -->	<appender name="WARN" class="org.apache.log4j.RollingFileAppender">		<param name="File" value="${app.root}/logs/app_warn.log" />		<param name="Append" value="true" />		<param name="MaxFileSize" value="5000KB" />		<param name="MaxBackupIndex" value="3" />		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="WARN" />			<param name="LevelMax" value="WARN" />		</filter>	</appender>	<!-- 输出通道"ERROR",输出方式是:只输出ERROR级别的LOG,并文件大小到达指定大小时 产生新的Log文件 -->	<appender name="ERROR" class="org.apache.log4j.RollingFileAppender">		<param name="File" value="${app.root}/logs/app_error.log" />		<param name="Append" value="true" />		<param name="MaxFileSize" value="5000KB" />		<param name="MaxBackupIndex" value="3" />		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="ERROR" />			<param name="LevelMax" value="ERROR" />		</filter>	</appender>	<!-- 输出通道"FATAL",输出方式是:只输出INFO级别的LOG,并文件大小到达指定大小时产生 新的Log文件 -->	<appender name="FATAL" class="org.apache.log4j.RollingFileAppender">		<param name="File" value="${app.root}/logs/app_fatal.log" />		<param name="Append" value="true" />		<param name="MaxFileSize" value="5000KB" />		<param name="MaxBackupIndex" value="3" />		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="FATAL" />			<param name="LevelMax" value="FATAL" />		</filter>	</appender>	<!-- 输出通道"EVERYDAY",输出方式是:输出所有级别的LOG,并每天一个日志文件 -->	<appender name="EVERYDAY" class="org.apache.log4j.DailyRollingFileAppender">		<param name="File" value="${app.root}/logs/app_everyday/everyday.log" />		<param name="Append" value="true" />		<!-- 以日为单位输出LOG文件,每日输出一个LOG文件 -->		<param name="DatePattern" value="'.'yyyy-MM-dd" />		<layout class="org.apache.log4j.PatternLayout">			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS}][%-20c{1}] %-5p %m%n" />		</layout>		<!-- 过滤输出时Log内容,在这里,LevelMin是DEBUG,LevelMax都FATAL, 所以输出DEBUG 级别到FATAL级别的LOG数据 -->		<filter class="org.apache.log4j.varia.LevelRangeFilter">			<param name="LevelMin" value="ERROR" />			<param name="LevelMax" value="FATAL" />		</filter>	</appender>	<logger name="org.hibernate.SQL">		<level value="DEBUG" />	</logger>	<logger name="org.hibernate.type">		<level value="WARN" />	</logger>	<logger name="org.hibernate.tool.hbm2ddl">		<level value="WARN" />	</logger>	<logger name="org.activiti.engine.impl.persistence.entity.TaskEntity">		<level value="WARN" />	</logger>	<logger name="com.xtframe">		<level value="DEBUG" />	</logger>	<root>		<!-- 设置输出范围,默认只输出ERROR以上的,ERROR级别, FATAL级别的LOG -->		<priority value="INFO" />		<!-- 上边设置的输出通道,使用的在这里定义 -->		<appender-ref ref="STDOUT" />		<appender-ref ref="DEBUG" />		<appender-ref ref="INFO" />		<appender-ref ref="WARN" />		<appender-ref ref="ERROR" />		<appender-ref ref="FATAL" />		<appender-ref ref="EVERYDAY" />	</root></log4j:configuration>
 |