1. 程式人生 > >Log4j使用筆記

Log4j使用筆記

技術 控制 line 全局 處理 sts con clas windows

在工作過程中,常常需要查看後臺日誌,為了更好的記錄日誌,我們使用Log4j來記錄日誌。

一、maven依賴的配置

在maven中央庫庫裏找到log4j的java包,添加到依賴即可。
  1. <dependency>
  2. <groupId>log4j</groupId>
  3. <artifactId>log4j</artifactId>
  4. <version>1.2.17</version>
  5. </dependency>


二、配置properties文件

log4j的使用只需要在src下面放一個log4j.properties的文件
,然後在該properties文件中進行配置即可。 (1)配置全局根日誌對象 log4j.rootLogger = info,console,file 格式:log4j.rootLogger = [level日誌級別] , 輸出端1 , 輸出端2, …
(2)配置指定包下的日誌 log4j.logger.org.springframework =debug 格式: log4j.logger.包名 = 日誌級別
(3)配置日誌的輸出端 控制臺輸出:
log4j.appender.console = org.apache.log4j.ConsoleAppender (輸出端)
log4j.appender.console.Threshold=info (日誌級別) log4j.appender.console.Target=System.out (目標) log4j.appender.console.layout = org.apache.log4j.PatternLayout (日誌格式器) log4j.appender.console.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n (轉換表達式)
文件輸出:
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
(每天產生一個文件) log4j.appender.file.DatePattern=‘_‘yyyy-MM-dd‘.log‘ (前一天日誌文件命名格式) log4j.appender.file.File = F:/log/oa.log (生成的文件) log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
轉換表達式詳解:
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR %m 輸出代碼中指定的消息 %n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n” %d 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式, 比如:%d{yyy MMM dd HH:mm:ss},輸出類似:2002年10月18日 22 : 10 : 28 %c 輸出所屬的類目,通常就是所在類的全名 %r 輸出自應用啟動到輸出該log信息耗費的毫秒數 %t 輸出產生該日誌事件的線程名
(4)完整的配置文件如下:
  1. ## LOG4J 日誌配置 ##
  2. ##01 配置全局日誌
  3. log4j.rootLogger = info,console,file
  4. ##02 配置指定包下的日誌(局部),其他包的日誌級別按全局的處理。(不過最終會輸出的級別還和下面輸出方式配置的級別有關系),
  5. # Hibernate5 logger(雖然這裏配置的是debug級,如果控制臺配置的是info級別的話,debug級的日誌也是不會輸出的)
  6. log4j.logger.org.hibernate=debug
  7. log4j.logger.org.hibernate.hql=debug
  8. ##03 配置輸出方式 ##
  9. # 輸出到控制臺
  10. log4j.appender.console = org.apache.log4j.ConsoleAppender
  11. log4j.appender.console.Threshold=info
  12. log4j.appender.console.Target=System.out
  13. log4j.appender.console.layout = org.apache.log4j.PatternLayout
  14. log4j.appender.console.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
  15. # 輸出到文件
  16. log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
  17. log4j.appender.file.Threshold=info
  18. # 設置DatePattern,當天日誌保存到tax.log文件,前一天的日誌文件名將被修改為tax.log + _yyyy-MM-dd.log
  19. log4j.appender.file.DatePattern=‘_‘yyyy-MM-dd‘.log‘
  20. log4j.appender.file.File = D:/log/tax.log
  21. log4j.appender.file.layout = org.apache.log4j.PatternLayout
  22. log4j.appender.file.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n

三、配置文件的解釋

技術分享

四、在java代碼中使用日誌

  1. public static void main(String[] args) {
  2. Logger logger = Logger.getLogger(TestSpring.class);
  3. logger.debug("這是debug");
  4. logger.info("這是Info");
  5. logger.error("這是error");
  6. }


Log4j使用筆記