0
我的应用程序每次运行时都会输出一些文件到动态创建的目录,其名称由System.currentTimeMillis()确定。Log4j2 - 记录到动态创建的目录
尝试以下解决方案:
<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登录这种动态创建的文件夹的方法?
你可以检查目录是否尝试写入存在日志/创建? – uniknow
问题解决了,错过了记录器在设置属性之前被初始化 –