需要在动态位置生成记录器文件

时间:2014-04-03 05:23:52

标签: java log4j

我试着寻找这个问题,这是我的最新要求。

问题是 我需要在相应的位置创建我的日志文件,并在运行时决定位置。

我在属性文件中使用以下配置。

log4j.appender.cabsLoggerCoreRoll=org.apache.log4j.RollingFileAppender  
log4j.appender.cabsLoggerCoreRoll.File=C:/CABS_Exstream/project/svn_code/cabs_ex‌​stream_sai/logs/cabs.log log4j.appender.cabsLoggerCoreRoll.Append = true 
log4j.appender.cabsLoggerCoreRoll.maxBackupIndex=10 
log4j.appender.cabsLoggerCoreRoll.maxFileSize=5MB 
log4j.appender.cabsLoggerCoreRoll.layout=org.apache.log4j.PatternLayout 
log4j.appender.cabsLoggerCoreRoll.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c %x - %m%n`

任何人都可以帮忙找到解决方案。

1 个答案:

答案 0 :(得分:0)

尝试使用此代码段来配置log4j属性文件

          String dynamicLogDir = "C:/CABS_Exstream/project/svn_code/cabs_ex‌​stream_sai/logs";
          System.setProperty("logDir", dynamicLogDir);
          Properties p = new Properties();
          p.load(new FileInputStream("<log4j property file path>\\log4j.properties"));
          PropertyConfigurator.configure( p );

并编写你喜欢的lod4j.properties文件;

     log4j.appender.cabsLoggerCoreRoll.File=${logDir}/cabs.log