log4j.xml配置

log4j.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

	<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%x %d [%-5p] %c %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="DEBUG" /><!-- DEBUG -->
			<param name="LevelMax" value="FATAL" />
		</filter>
	</appender>

	<appender name="LOG.DEBUG" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${log.home}/ssm/debug.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="DEBUG" />
			<param name="LevelMax" value="ERROR" />
		</filter>
	</appender>

	<appender name="LOG.INFO" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${log.home}/ssm/info.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="INFO" />
			<param name="LevelMax" value="ERROR" />
		</filter>
	</appender>

	<appender name="LOG.WARN" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${log.home}/ssm/warn.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="WARN" />
			<param name="LevelMax" value="ERROR" />
		</filter>
	</appender>

	<appender name="LOG.ERROR" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${log.home}/ssm/error.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="ERROR" />
			<param name="LevelMax" value="ERROR" />
		</filter>
	</appender>

	<appender name="LOG.FATAL" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="${log.home}/ssm/fatal.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="FATAL" />
			<param name="LevelMax" value="FATAL" />
		</filter>
	</appender>
	
	<!-- 下面是打印mybatis语句的配置-->
	 <logger name="com.ibatis" additivity="true"> 
	  <level value="DEBUG" /> 
	 </logger> 
	 <logger name="java.sql.Connection" additivity="true"> 
	  <level value="DEBUG" /> 
	 </logger> 
	 <logger name="java.sql.Statement" additivity="true"> 
	  <level value="DEBUG" /> 
	 </logger> 
	 <logger name="java.sql.PreparedStatement" additivity="true"> 
	  <level value="DEBUG" /> 
	 </logger> 
	 <logger name="java.sql.ResultSet" additivity="true"> 
	  <level value="DEBUG" /> 
	 </logger> 
	 
	<root>
		<priority value="${log.level}" />
		<appender-ref ref="LOG.DEBUG" />
		<appender-ref ref="LOG.INFO" />
		<appender-ref ref="LOG.WARN" />
		<appender-ref ref="LOG.ERROR" />
		<appender-ref ref="LOG.FATAL" />
		<appender-ref ref="STDOUT" />
	</root>

</log4j:configuration>

eclipse的VM arguments中设置如下

-Dlog.home="D:\workspace\ssm\logs"

log4j的level级别从小到大为:debug<info<warn<error<fatal

log4j的日志输出可以控制到具体的包结构

log4j.logger.java.sql.Connection = debug;

log4j.logger.java.sql.PreparedStatement = debug;

可以在代码中配置系统变量通过System类如下

System.setProperty("LOG_DIR", "E:/logs/log");

log4j.appender.F1=org.apache.log4j.FileAppender

log4j.appender.F1.File = ${LOG_DIR}/cms.log 

log4j.appender.F1.layout = org.apache.log4j.PatternLayout 

log4j.appender.F1.layout.ConversionPattern = [%-5p][%-22d{yyyy/MM/dd HH\:mm\:ssS}][%l]%n%m%n 

log4j.appender.F1.Encoding = UTF-8

log4j.xml配置log4j.xml配置

commos-logging通过的log处理,它是一个接口抽象,底层的实现可以自动转换,如果当前存在log4j就使用log4j,否则使用jdk自带log,否则使用其自身的实现,跟log4j获取的logger方法不一样,其他都差不多。

你可能感兴趣的:(log4j.xml配置)