2010-06-22 46 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末尾的“性能”部分。