1、log4j.xml文件配置简析
log4j.xml配置参数基本和log4j.properties一样,具体使用哪种看个人喜好或项目需要而定,如有问题 感谢留言指正.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="default" class="org.apache.log4j.ConsoleAppender">
<param name="target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-5p] %d{yyyy-MM-dd hh:mm:ss.SSS aa} %t [%c]%n%m%n%n"/>
</layout>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="target" value="System.out"/>
<!-- 设置日志文件输出样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志的输出格式 -->
<param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss.SSS z}] [%t] [%c]%n%m%n%n"/>
</layout>
</appender>
<!-- 查询级别,输出到文件(限定每个文件大小) -->
<appender name="query" class="org.apache.log4j.RollingFileAppender">
<!-- 设置日志输出文件名 -->
<param name="File" value="E:/user-job-web.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<!-- 指定文件的最大 大小为1MB 单位是B(1024B=1KB) -->
<param name="MaxFileSize" value="1048576" />
<!-- 备份日志文件的个数(默认是10个) -->
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%c-%M] %m%n" />
</layout>
</appender>
<!-- 输出到文件(每天产生一个文件) -->
<appender name="sys" class="org.apache.log4j.DailyRollingFileAppender">
<!-- 设置日志输出文件名 -->
<param name="File" value="E:\\user-job-web_warn.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<!-- 设置日志文件输出样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志的输出格式 -->
<param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%t] [%c-%M]%n%m%n%n"/>
</layout>
</appender>
<!-- 日志输出到数据中 -->
<appender name="dblog" class="org.apache.log4j.jdbc.JDBCAppender">
<!-- 设置数据库信息和连接 -->
<param name="Driver" value="com.mysql.jdbc.Driver" />
<param name="URL" value="jdbc:mysql://localhost:3306/swh_hibernate4?useUnicode=true&characterEncoding=utf8" />
<param name="user" value="root" />
<param name="password" value="root" />
<!-- 设置日志文件输出样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置输出日志的sql-->
<param name="ConversionPattern" value="INSERT INTO t_logs(createDate, thread, priority, category,methodName, message) values('%d', '%t', '%-5p', '%c','%M', '[%l]-%m')"/>
</layout>
</appender>
<!-- 单独配置,效果和放到logger->root下一样 -->
<category name="com.swh.crm.aop" additivity="false">
<level value="INFO" />
<appender-ref ref="dblog" />
<appender-ref ref="console" />
</category>
<logger name="org.quartz">
<level value="warn" />
</logger>
<!-- 设置com.swh.crm.service路径下的日志信息级别为info级别 -->
<logger name="com.swh.oa.service" additivity="true">
<level value="info" />
</logger>
<!-- 设置级别和目的地 -->
<root>
<!-- 设置根日志级别,指定路径中的日志优先级大于根日志优先级
(com.swh.crm(只会输出info级别以上的日志)>root,
org.quartz(只会输出warn级别以上的日志))
没有指定日志级别的则以root指定的日志级别为准 -->
<level value="debug" />
<!-- 引入appender -->
<!-- <appender-ref ref="sys" /> -->
<appender-ref ref="query" />
<appender-ref ref="console" />
</root>
</log4j:configuration>