在运行时在log4j.properties文件中传递appender.file值

时间:2019-01-16 08:06:53

标签: java log4j

我正在尝试通过路径创建日志文件。

String logsPath="C:/";
   System.setProperty("logs", logsPath);
  log.debug("Debug");
  log.info("Info");

我的logs.properties文件如下:

log4j.appender.X=org.apache.log4j.FileAppender
log4j.appender.X.File=$(logs)/logs.log

问题:-程序运行正常,没有任何错误,但是未打印日志。

请帮助。

1 个答案:

答案 0 :(得分:0)

  1. 原因是log4j的初始化速度比System.setProperty ("logs", logsPath);行快。
    使用以下选项运行进程: -Dlogs="C:/"
    例: java -Dlogs="C:/" MyClass

  2. $(logs)替换为${logs}