【问题标题】:Genearate mutiple log files using log4j使用 log4j 生成多个日志文件
【发布时间】:2015-04-27 05:18:17
【问题描述】:

如何使用 log 4j 为单个应用程序生成多个日志文件。 在这里我想生成 2 个日志文件。所以请您为这个添加一些示例示例。我尝试使用这个并生成第二个日志文件,但无法打开该文件。您能建议我吗?

log.dir=C:/Migration/logs/Export&ImportLogs_${current.date}.csv
rrd.dir=${log.dir}/rrd
log4j.rootLogger = INFO, FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${log.dir}
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=info
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
log4j.appender.FILE.MaxFileSize=10MB
log4j.appender.FILE.MaxBackupIndex=2

【问题讨论】:

  • 在这里我可以生成,但问题是如果我想使用此属性创建另一个具有不同名称的日志文件,它不起作用...

标签: java log4j java.util.logging


【解决方案1】:

在java中配置两个记录器

static final Logger log1= Logger.getLogger("log1");
static final Logger log2= Logger.getLogger("log2");

在 log4j.properties 中,添加以下内容:

log4j.category.log1=INFO, logger1
log4j.additivity.log1=false

log4j.category.log2=DEBUG, logger2
log4j.additivity.log2=false

log4j.appender.logger1=org.apache.log4j.FileAppender
log4j.appender.logger1.File=log1.log
log4j.appender.logger1.layout=org.apache.log4j.PatternLayout
log4j.appender.logger1.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.appender.logger2=org.apache.log4j.FileAppender
log4j.appender.logger2.File=log2.log
log4j.appender.logger2.layout=org.apache.log4j.PatternLayout
log4j.appender.logger2.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

【讨论】:

    【解决方案2】:

    log4j.category 属性可用于从特定包中的代码记录到不同的日志文件。

    log4j.category.com.abc.def = INFO , file2
  
    log4j.rootLogger=WARN, file
    
    log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.file.File=a.log
 
    log4j.appender.file.encoding=UTF-8
 
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
   
    log4j.appender.file.DatePattern='.'yyyy-MM-dd
    
    log4j.appender.file2=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.file2.File=b.log
    
    log4j.appender.file2.encoding=UTF-8
    
    log4j.appender.file2.layout=org.apache.log4j.PatternLayout
 
    log4j.appender.file2.DatePattern='.'yyyy-MM-dd
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2011-06-12
      • 1970-01-01
      相关资源
      最近更新 更多