2010-06-22 67 views
1

我正在使用log4j來記錄多個信息。我想將這些信息分成多個文件。Log4j的多個文件

我的配置文件與此類似:

 #logger_1 
      log4j.logger.logger_1=debug, logger_1_File 
      log4j.appender.logger_1_File=org.apache.log4j.RollingFileAppender 
      log4j.appender.logger_1_File.layout=org.apache.log4j.PatternLayout 
      log4j.appender.logger_1_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n 
      log4j.appender.logger_1_File.File=${webinf}/logs/logger1/logger1.log 
      log4j.appender.logger_1_File.MaxFileSize=5000KB 
      log4j.appender.logger_1_File.MaxBackupIndex=200 
      log4j.appender.logger_1_File.encoding=UTF-8 

     #logger_2 
      log4j.logger.logger_2=debug, logger_2_File 
      log4j.appender.logger_2_File=org.apache.log4j.RollingFileAppender 
      log4j.appender.logger_2_File.layout=org.apache.log4j.PatternLayout 
      log4j.appender.logger_2_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n 
      log4j.appender.logger_2_File.File=${webinf}/logs/logger2/logger2.log 
      log4j.appender.logger_2_File.MaxFileSize=5000KB 
      log4j.appender.logger_2_File.MaxBackupIndex=200 
      log4j.appender.logger_2_File.encoding=UTF-8 

... 

我對它有兩個問題:

  1. 有什麼辦法,我可以縮寫 這個(省略重複/樣板 代碼) ?當我使用幾個appender時,我必須重複很多 行。
  2. 是 還有什麼性能問題 呢?這個配置意味着log4j擁有 幾個資源可寫入 文件。 是否會導致性能問題?我 有9個這樣的appender,所以我 擔心它。
+0

如果你擔心它,然後測量它。 – skaffman 2010-06-22 13:40:48

+0

是的,我會的。但我喜歡聽到一些有經驗的程序員的意見。不過謝謝,無論如何 – Bob 2010-06-22 13:45:09

回答

0

首先,用一個appender測量應用程序的性能,這個appender有許多appender,具有不同的日誌級別。 如果你有性能問題,你需要解決它,否則不需要擔心它。

另請閱讀Short introduction to log4j末尾的「性能」部分。