使用Log4j,有两种凡是
1、XML来配置属性参数,优点是打印输出更灵活,更加易控,可以按包路径、日志级别分开输出,可以根据具体需求过滤不需要的日志信息。
第一、文件 web.xml
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
<!--
<param-value>/WEB-INF/log4j.properties</param-value>
-->
</context-param>
第二、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="cmd" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="GBK" />
<param name="Threshold" value="debug" />
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n" />
</layout>
</appender>
<!-- 文件输出 -->
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../webapps/aaa/WEB-INF/logs/log.log" />
<param name="Encoding" value="UTF-8" />
<param name="Threshold" value="debug" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="500kb" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-d{yyyy-MM-dd HH:mm:ss} [%t] %p %c %x - %m%n" />
</layout>
</appender>
<!-- 针对任务处理程序的日志文件输出 -->
<appender name="taskFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../webapps/aaa/WEB-INF/logs/task-log.log" /> <!--设置输出文件路径-->
<param name="Encoding" value="UTF-8" />
<param name="Threshold" value="debug" />
<!--设置是否在重新启动服务器时,在原有日志的基础上添加日志-->
<param name="Append" value="true" />
<param name="MaxFileSize" value="500kb" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-d{yyyy-MM-dd HH:mm:ss} [%t] %p %c %x - %m%n" />
</layout>
</appender>
<span style="font-size: 1em; line-height: 18px; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace;"><span class="comments" style="padding: 0px; margin: 0px; width: auto; border: 0px; color: rgb(0, 130, 0);"><</span><span class="comments" style="padding: 0px; margin: 0px; width: auto; border: 0px;">!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制</span></span><span style="font-size: 1em; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif;"> --> </span>
<logger name="com.ecard.task" additivity="false">
<level value="debug" />
<appender-ref ref="cmd" />
<appender-ref ref="taskFile" />
</logger>
<!-- 全局输出的方式 -->
<root>
<priority value="debug" />
<appender-ref ref="cmd" />
<appender-ref ref="file" />
<appender-ref ref="task-file" />
</root>
</log4j:configuration>
2、配置文件方式
推荐一下这文章:http://leonandjava.iteye.com/blog/293525
- <!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->