gpt4 book ai didi

java - Windows 上的 log4j2 RollingFile 给出 "The system cannot find the path specified"

转载 作者:行者123 更新时间:2023-12-02 03:27:43 24 4
gpt4 key购买 nike

我正在尝试使用 RollingFile 附加程序配置 log4j2,以便保存以前的日志文件并在每次运行时生成一个新的日志文件。

log4j2.xml中的appender配置如下:

    <RollingFile name="Logfile" >
<append value="false" />
<filePattern value="log-%d{yyyy-MM-dd_HHmm}.txt" />
<fileName value="log.txt" />
<PatternLayout pattern="[%d{HH:mm:ss.SSS}] [%N] [%-5level] [%-16t] [%-20logger{36}]: %msg%n"/>
<Policies>
<OnStartupTriggeringPolicy />
</Policies>
</RollingFile>

当我运行该应用程序时,我立即收到以下错误:

2016-07-26 12:15:54,888 main ERROR Unable to create file  java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1012)
...
2016-07-26 12:15:54,919 main ERROR Null object returned for RollingFile in Appenders.

使用简单的File附加程序在我的程序目录中创建所需的日志文件,因此我期望RollingFile附加程序也能够处理相对路径。可能会,因为绝对路径也不起作用。如果我将程序目录的路径或 %TMP% 环境变量的实际值添加到 fileNamefilePattern 中,我会得到相同的结果错误。

因此,非常感谢为我的目标配置 log4j2 的任何帮助...

最佳答案

fileNamefilePattern 是 RollingFile 标记的属性,而不是子标记:

<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">

参见https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender

关于java - Windows 上的 log4j2 RollingFile 给出 "The system cannot find the path specified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com