Logger4j的使用

1.配置文件

完整配置如下

log4j.rootLogger=CONSOLE,FILE  

log4j.addivity.org.apache=true  

  

應用於控制檯  

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  

log4j.appender.CONSOLE.Threshold=INFO  

log4j.appender.CONSOLE.Target=System.out  

log4j.appender.CONSOLE.Encoding=GBK  

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  

10 log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

11   

12 每天新建日誌  

13 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender  

14 log4j.appender.A1.File=C:/log4j/log  

15 log4j.appender.A1.Encoding=GBK  

16 log4j.appender.A1.Threshold=DEBUG  

17 log4j.appender.A1.DatePattern='.'yyyy-MM-dd  

18 log4j.appender.A1.layout=org.apache.log4j.PatternLayout  

19 log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n  

20   

21 #應用於文件  

22 log4j.appender.FILE=org.apache.log4j.FileAppender  

23 log4j.appender.FILE.File=C:/log4j/file.log  

24 log4j.appender.FILE.Append=false  

25 log4j.appender.FILE.Encoding=GBK  

26 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  

27 log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

28   

29 應用於文件回滾  

30 log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  

31 log4j.appender.ROLLING_FILE.Threshold=ERROR  

32 log4j.appender.ROLLING_FILE.File=rolling.log  

33 log4j.appender.ROLLING_FILE.Append=true  

34 log4j.appender.CONSOLE_FILE.Encoding=GBK  

35 log4j.appender.ROLLING_FILE.MaxFileSize=10KB  

36 log4j.appender.ROLLING_FILE.MaxBackupIndex=1  

37 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  

38 log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

39   

40 #自定義Appender  

41 log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender  

42 log4j.appender.im.host = mail.cybercorlin.net  

43 log4j.appender.im.username = username  

44 log4j.appender.im.password = password  

45 log4j.appender.im.recipient = [email protected]  

46 log4j.appender.im.layout=org.apache.log4j.PatternLayout  

47 log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

48   

49 #應用於socket  

50 log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender  

51 log4j.appender.SOCKET.RemoteHost=localhost  

52 log4j.appender.SOCKET.Port=5001  

53 log4j.appender.SOCKET.LocationInfo=true  

54 # Set up for Log Facter 5  

55 log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout  

56 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  

57 # Log Factor 5 Appender  

58 log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender  

59 log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000  

60   

61 發送日誌給郵件  

62 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender  

63 log4j.appender.MAIL.Threshold=FATAL  

64 log4j.appender.MAIL.BufferSize=10  

65 [email protected]  

66 log4j.appender.MAIL.SMTPHost=www.wusetu.com  

67 log4j.appender.MAIL.Subject=Log4J Message  

68 [email protected]  

69 log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout  

70 log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

使用Log4j的時候,總是出現

log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).  

log4j:WARN Please initialize the log4j system properly.  

解決方案:

把上面詳細配置的log4j.rootLogger=CONSOLE,FILE

改爲log4j.rootLogger=DEBUG,CONSOLE,FILE,你就發現,控制檯信息又回來了

 

2.加載配置文件

3.使用logger日誌文件

 

具體示例如下所示:

(1)Logger4j配置文件:

### set log levels ###

log4j.rootLogger = info,daqAppender,D,outAppender

#log4j.rootLogger = DEBUG,CONSOLE,FILE

 

log4j.appender.D = org.apache.log4j.ConsoleAppender

log4j.appender.D.Target = System.out

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern =  

%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

log4j.appender.daqAppender = 

org.apache.log4j.DailyRollingFileAppender

log4j.appender.daqAppender.File = logs/log.log

log4j.appender.daqAppender.Append = true

log4j.appender.daqAppender.Threshold = info

log4j.appender.daqAppender.layout = org.apache.log4j.PatternLayout

log4j.appender.daqAppender.layout.ConversionPattern = 

%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

log4j.appender.outAppender = 

org.apache.log4j.DailyRollingFileAppender

log4j.appender.outAppender.File = logs/error.log

log4j.appender.outAppender.Append = true

log4j.appender.outAppender.Threshold = ERROR

log4j.appender.outAppender.layout = org.apache.log4j.PatternLayout

log4j.appender.outAppender.layout.ConversionPattern = 

%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n 

 

(2)加載配置文件

URL pa = 

ClassLoader.getSystemResource("resources/log4j.properties");

PropertyConfigurator.configure(pa);

 

(3)使用logger4j輸出日誌

Loggers.daqlog.info("日誌參數加載--info--");

 

Loggers日誌類如下所示:

import org.apache.log4j.Logger;

 

public class Loggers {

public static Logger daqlog=Logger.getLogger("daqAppender");

public static Logger outlog=Logger.getLogger("outAppender");

}

 

Sue  remark:上面的示例是自定義的,

定義日誌文件輸出的位置:

log4j.appender.outAppender.File = logs/error.log

log4j.appender.daqAppender.File = logs/log.log

 

定義日誌的級別:

log4j.appender.outAppender.Threshold = ERROR

log4j.appender.daqAppender.Threshold = info

 

定義日誌的佈局:

log4j.appender.outAppender.layout = org.apache.log4j.PatternLayout

 

定義日誌輸出的格式:

log4j.appender.outAppender.layout.ConversionPattern = 

%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n 

 

標識的意思:

# %c 輸出日記信息所屬的類的全名

 # %d 輸出日記時間點的日期或時間,默許格式爲ISO8601,也可以或許在厥後指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出近似:2002-10-# 18- 221028

 # %f 輸出日記信息所屬的類的類名

 # %l 輸出日記事件的產生地位,即輸出日記信息的語句處於它地點的類的第幾行

 # %m 輸出代碼中指定的信息,如log(message)中的message

 # %n 輸出一個回車換行符,Windows平臺爲“ ”Unix平臺爲“ ”

 # %p 輸出優先級,即DEBUGINFOWARNERRORFATAL。假定是調用debug()輸出的,則爲DEBUG,依此類推

 # %r 輸出自利用啓動到輸出該日記信息所破鈔的毫秒數

 # %t 輸生產生該日記事件的線程名


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