1.
?????
首先是配置文件
一、
property
文件
log4j.properties
log4j.rootCategory
=DEBUG, R
配置根
Logger
,其
語
法
為
:
log4j.rootLogger = [ level ] , appenderName, appenderName,
…
其中,
level
是日志
記錄
的
優
先
級
,分
為
OFF
、
FATAL
、
ERROR
、
WARN
、
INFO
、
DEBUG
、
ALL
或者您定
義
的
級別
。
Log4j
建
議
只使用四個
級別
,
優
先
級
從高到低分
別
是
ERROR
、
WARN
、
INFO
、
DEBUG
。通
過
在
這
里定
義
的
級別
,您可以控制到
應
用程序中相
應級別
的日志信息的
開關
。比如在
這
里定
義
了
INFO
級別
,
則應
用程序中所有
DEBUG
級別
的日志信息將不被打印出來。
appenderName
就是指定日志信息
輸
出到哪個地方。您可以同
時
指定多個
輸
出目的地
。
這里
設
置
域
對應
的
級別
DEBUG
和
輸
出地
R
log4j.appender.R =org.apache.log4j.RollingFileAppender
- 配置日志信息 輸 出目的地 Appender ,其 語 法 為
- 2.?????????? log4j.appender.appenderName = fully.qualified.name.of.appender.class
- 3.?????????? log4j.appender.appenderName.option1 = value1
- 4.?????????? …
-
log4j.appender.appenderName.option = valueN
其中,
Log4j
提供的
appender
有以下幾
種
:
org.apache.log4j.ConsoleAppender
(控制臺),
org.apache.log4j.FileAppender
(文件),
org.apache.log4j.DailyRollingFileAppender
(
每
天
產
生一個日志文件),
org.apache.log4j.RollingFileAppender
(文件大小到達指定尺寸的
時
候
產
生一個新的文件),
org.apache.log4j.WriterAppender
(將日志信息以流格式
發
送到任意指定的地方
)
log4j.appender.R.File
=c:\\log4j\\debug.log
###
日志信息
文件位置
##
log4j.appender.R.MaxFileSize
=1000KB
###
文件大小
##
# Keep one backup file
log4j.appender.R.MaxBackupIndex
=2
log4j.appender.R.layout
=org.apache.log4j.PatternLayout
-
配置日志信息的格式(布局),其
語
法
為
:
2.??????????
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
3.??????????
log4j.appender.appenderName.layout.option1 = value1
4.??????????
…
log4j.appender.appenderName.layout.option = valueN
其中,
Log4j
提供的
layout
有以下幾
種
:
org.apache.log4j.HTMLLayout
(以
HTML
表格形式布局),
org.apache.log4j.PatternLayout
(可以靈活地指定布局模式),
org.apache.log4j.SimpleLayout
(包含日志信息的
級別
和信息字符串),
org.apache.log4j.TTCCLayout
(包含日志
產
生的
時間
、
線
程、
類別
等等信息
)
#log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.R.layout.ConversionPattern
=%d [%t] %-5p :%-10c:%L - %m%n
###
配置日志
輸
出的格式
##
# -X
號
:X
信息
輸
出
時
左
對齊
;
# %p:
日志信息
級別
# %d{}:
日志信息
產
生
時間
# %c:
日志信息所在地(
類
名)
# %m:
產
生的日志具體信息
# %n:
輸
出日志信息
換
行
log4j.category.org.apache.commons
=WARN
log4j.category.org.apache.struts
=WARN
二、
log4j.xml
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!--
設
置通道
ID:org.zblog.all
和
輸
出方式:
org.apache.log4j.RollingFileAppender -->
?? <param name="File" value="E:/study/log4j/all.output.log" /><!--
設
置
File
參數:日志
輸
出文件名
-->
?? <param name="Append" value="false" /><!--
設
置是否在重新啟
動
服
務時
,在原有日志的基
礎
添
加新日志
-->
?? <param name="MaxBackupIndex" value="10" />
?? <layout class="org.apache.log4j.PatternLayout">
?????? <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!--
設
置
輸
出文件
項
目和格式
-->
?? </layout>
</appender>
<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
?? <param name="File" value="E:/study/log4j/zhuwei.output.log" />
?? <param name="Append" value="true" />
?? <param name="MaxFileSize" value="10240" /> <!--
設
置文件大小
-->
?? <param name="MaxBackupIndex" value="10" />
?? <layout class="org.apache.log4j.PatternLayout">
?????? <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
?? </layout>
</appender>
<logger name="zcw.log"> <!--
設
置域名限制,即
zcw.log
域及以下的日志均
輸
出到下面
對應
的通道中
-->
?? <level value="debug" /><!--
設
置
級別
-->
?? <appender-ref ref="org.zblog.zcw" /><!--
與前面的通道
id
相
對應
-->
</logger>
<root> <!--
設
置接收所有
輸
出的通道
-->
?? <appender-ref ref="org.zblog.all" /><!--
與前面的通道
id
相
對應
-->
</root>
</log4j:configuration>