首页 > 解决方案 > 在运行时在 log4j.properties 文件中传递 appender.file 值

问题描述

我正在尝试传递创建日志文件的路径。

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

问题:-程序运行良好,没有任何错误,但没有打印日志。

请帮忙。

标签: javalog4j

解决方案


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

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


推荐阅读