itVincent Blog - Java Working Fun!

技术引领时代!
posts - 117, comments - 181, trackbacks - 0, articles - 12

自己写的一个log4j.xml

Posted on 2007-08-07 18:21 itVincent 阅读(1705) 评论(0)  编辑  收藏 所属分类: Java基础
 1<?xml version="1.0" encoding="UTF-8"?>
 2<!DOCTYPE log4j:configuration PUBLIC "-//Apache//DTD Log4j 1.2//EN"
 3                                    "http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd">
 4<log4j:configuration debug="false">
 5
 6    <appender name="FILE" class="org.apache.log4j.FileAppender">
 7        <param name="File" value="../log/system.log" />
 8        <param name="Append" value="false" />
 9        <param name="Threshold" value="info" />
10        <layout class="org.apache.log4j.PatternLayout">
11            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
12        </layout>
13    </appender>
14
15    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
16        <param name="Target" value="System.out"/>
17        <param name="Threshold" value="info" />
18        <layout class="org.apache.log4j.PatternLayout">
19            <param name="ConversionPattern"
20                value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
21        </layout>
22    </appender>
23
24    <appender name="DAILYFILE" class="org.apache.log4j.DailyRollingFileAppender">
25        <param name="File" value="../log/daily_system.log" />
26        <param name="Append" value="true" />
27        <param name="Threshold" value="info" />
28        <param name="DatePattern" value="'.'yyyy-MM-dd" />
29        <layout class="org.apache.log4j.PatternLayout">
30            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n" />
31        </layout>
32    </appender>
33
34    <appender name="DEBUG_FILE" class="org.apache.log4j.FileAppender">
35        <param name="File" value="../log/debug.log" />
36        <param name="Append" value="false" />
37        <!--<param name="Threshold" value="info" />-->
38        <layout class="org.apache.log4j.PatternLayout">
39            <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
40        </layout>
41    </appender>
42
43    <appender name="DEBUG_HTML" class="org.apache.log4j.FileAppender">
44        <param name="File" value="../log/debug.html" />
45        <param name="Append" value="false" />
46        <param name="Threshold" value="info" />
47        <layout class="org.apache.log4j.HTMLLayout">
48            <param name="Title" value="debug html log" />
49        </layout>
50    </appender>
51
52    <logger name="net.blogjava.itvinent">
53        <level value="debug"/>
54        <appender-ref ref="DEBUG_FILE"/>
55        
56    </logger>
57
58
59     <root>
81        <level value="info"/>
82        <appender-ref ref="CONSOLE" />
83        <appender-ref ref="FILE" />
84        <appender-ref ref="DEBUG_HTML"/>
85        <appender-ref ref="DAILYFILE"/>
86       </root>     
91</log4j:configuration>


本文适合对log4j有一定了解的朋友^_^

CONSOLE是控制台日志,在控制台上显示日志信息

FILE是文件日志,程序每次启动本文件会清空,写入新的日志

DEBUG_HTML是HTML日志,日志以HTML格式生成,方便用浏览器察看日志

DEBUG_FILE 是保存debug信息的日志文件

DAILYFILE是定时备份日志,程序启动时,会生成一个../log/daily_system.log文件,<param name="DatePattern" value="'.'yyyy-MM-dd" />表示每天深夜时会自动复制daily_system.log的内容生成一个名如daily_system.log.2008-08-07的日志文件

-----------------------------------------------------------------------------------------------------------------------

下面再解释一些共用的设置参数:
<param name="File" value="../log/system.log" />表示生成的日志文件保存的目录与名称

<param name="Append" value="false" />false表示重启程序之后,不会把日志添加到文件末尾,取而代之是清空原来日志,写入新的日志.true则是会把新日志添加到文件末尾

<param name="Threshold" value="info" />表示这个appender只显示value以上级别的日志

<layout class="org.apache.log4j.PatternLayout">表示所用的日志外观,即我们的日志要以何种格式显示出来


----------------------------------------------------------------------------------------------------------------------

 <logger name="net.blogjava.itvincent">
  <level value="debug"/>
  <appender-ref ref="DEBUG_FILE"/>
   </logger>

表示DEBUG_FILE这个appender,会显示所有为net.blogjava.itvincent开头的日志名称的debug信息

  <root>
  <level value="info"/>
  <appender-ref ref="CONSOLE" />
  <appender-ref ref="FILE" />
  <appender-ref ref="DEBUG_HTML"/>
  <appender-ref ref="DAILYFILE"/>
 </root> 

表示在根日志器中加入CONSOLE、FILE、DEBUG_HTML、DAILYFILE这四个appender

要使日志生效,就要通过上面两种方式加入appender
---------------------------------------------------------------------------------------------------------
Java类中插入以下成员变量:
 private static Logger log = LoggerFactory.getLogger(Sample.class);

 


欢迎回复回信交流!


只有注册用户登录后才能发表评论。


网站导航: