【发布时间】:2016-08-01 07:52:59
【问题描述】:
我的应用程序每次运行时都会将一些文件输出到动态创建的目录,其名称由 System.currentTimeMillis() 确定。
尝试了以下解决方案:
<File name="File" fileName=".\xxx\${sys:log4j2.saveDirectory}\test.log" immediateFlush="false" append="false">\
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
在我调用的java代码中:
String path = Long.toString(System.currentTimeMillis());
System.setProperty("log4j2.saveDirectory", path);
但这不起作用,因为我得到了 FileNotFoundException。有什么办法告诉 log4j2 登录这种动态创建的文件夹?
【问题讨论】:
-
能否查看尝试写入日志的目录是否存在/已创建?
-
问题已解决,错过了在设置属性之前初始化记录器