Log4配置

一、常用輸出格式

%c   列出logger名字空間的全稱,如加上{<層數>}表示出從最內層算起的指定層數的名字空間
%X  按MDC(Mapped Diagnostic Context,線程映射表)輸出日誌。通常用於多個客戶端連接同一臺服務器,方便服務器區分是那個客戶端訪問留下來的日誌。
%p  日誌信息級別
%d   %d{<日期格式>}:日誌信息產生時間,使用ISO8601定義的日期格式
%C   日誌信息所在地(全限類名)
%m   產生的日誌具體信息
%n    輸出日誌信息換行
%F 顯示調用logger的源文件名
%l     輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數
%L    顯示調用logger的代碼行
%M   顯示調用logger的方法名
%r     顯示從程序啓動時到記錄該條日誌時已經經過的毫秒數
%t     輸出產生該日誌事件的線程名
%% 顯示一個
二、log4j .properties

#控制包中日誌輸出級別
log4j .logger.org.apache.struts = debug

# 應用於控制檯
log4j .appender.CONSOLE=org.apache.log4j .ConsoleAppender
log4j .appender.Threshold=DEBUG
log4j .appender.CONSOLE.Target=System.out
log4j .appender.CONSOLE.layout=org.apache.log4j .PatternLayout
log4j .appender.CONSOLE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n
#log4j .appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

#應用於文件
log4j .appender.FILE=org.apache.log4j .FileAppender
log4j .appender.FILE.File=file.log
log4j .appender.FILE.Append=false
log4j .appender.FILE.layout=org.apache.log4j .PatternLayout
log4j .appender.FILE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis

# 應用於文件回滾
log4j .appender.ROLLING_FILE=org.apache.log4j .RollingFileAppender
log4j .appender.ROLLING_FILE.Threshold=ERROR
log4j .appender.ROLLING_FILE.File=rolling.log
log4j .appender.ROLLING_FILE.Append=true
log4j .appender.ROLLING_FILE.MaxFileSize=100KB
log4j .appender.ROLLING_FILE.MaxBackupIndex=10
log4j .appender.ROLLING_FILE.layout=org.apache.log4j .PatternLayout
log4j .appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n


#應用於socket
log4j .appender.SOCKET=org.apache.log4j .net.SocketAppender
log4j .appender.SOCKET.RemoteHost=localhost
log4j .appender.SOCKET.Port=5001
log4j .appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
log4j .appender.SOCKET.layout=org.apache.log4j .PatternLayout
log4j .appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n


# Log Factor 5 Appender
log4j .appender.LF5_APPENDER=org.apache.log4j .lf5.LF5Appender
log4j .appender.LF5_APPENDER.MaxNumberOfRecords=2000

# 發送日誌給郵件
log4j .appender.MAIL=org.apache.log4j .net.SMTPAppender
log4j .appender.MAIL.Threshold=FATAL
log4j .appender.MAIL.BufferSize=10
log4j [email protected]
log4j .appender.MAIL.SMTPHost=www.wusetu.com
log4j .appender.MAIL.Subject=Log4J Message
log4j [email protected]
log4j .appender.MAIL.layout=org.apache.log4j .PatternLayout
log4j .appender.MAIL.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n

# 用於數據庫
log4j .appender.DATABASE=org.apache.log4j .jdbc.JDBCAppender
log4j .appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j .appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j .appender.DATABASE.user=root
log4j .appender.DATABASE.password=
log4j .appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %-4r [%t] %-5p %c %x - %m%n')
log4j .appender.DATABASE.layout=org.apache.log4j .PatternLayout
log4j .appender.DATABASE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n

#每日回滾日誌文件
log4j .appender.A1=org.apache.log4j .DailyRollingFileAppender
log4j .appender.A1.File=SampleMessages.log4j
log4j .appender.A1.DatePattern=yyyyMMdd-HH'.log4j '
log4j .appender.A1.layout=org.apache.log4j .xml.XMLLayout

#自定義Appender
log4j .appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j .appender.im.host = mail.cybercorlin.net
log4j .appender.im.username = username
log4j .appender.im.password = password
log4j .appender.im.recipient = [email protected]
log4j .appender.im.layout=org.apache.log4j .PatternLayout
log4j .appender.im.layout.ConversionPattern =[framework] %d - %-4r [%t] %-5p %c %x - %m%n

 

三、日誌記錄器(Logger)的行爲是分等級的。如下所示:

分 爲OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。Log4j建議只使用四個級別,優先級從高到低分別是 ERROR、WARN、INFO、DEBUG。通過在這裏定義的級別,您可以控制到應用程序中相應級別的日誌信息的開關。比如在這裏定義了INFO級別, 則應用程序中所有DEBUG級別的日誌信息將不被打印出來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章