0

我是stackoverflow的新手。我正在尝试在我的 Maven Web 应用程序中设置 log4j2,并且我想使用文件附加程序。我发现这样的例子..

<File name="MyFile" fileName="logs/app.log">      
<PatternLayout> 
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>

所以。我创建了一个文件夹“logs”并将 app.log 放在我的应用程序的某个位置。但日志数据不会写入文件。

当我更改为在控制台中写入以进行测试时,我可以在控制台中看到日志数据。

我不太确定我必须把那个“日志”文件夹放在哪里。

我的应用程序目录是这样的

src/main/java
src/main/resources
src/main/webapp
src/test/java

谢谢你的帮助。

4

2 回答 2

3

你能提供完整的 log4j2.xml 文件吗?

默认情况下,File appender 为 bufferedIO=true,immediateFlush=true,因此输出立即刷新到磁盘。您可以尝试添加一个显式的 immediateFlush 属性:

<File name="MyFile" fileName="logs/app.log" immediateFlush="true">...  

日志文件夹相对于您应用的当前目录。确切的位置可能取决于您的 Web 应用服务器。您可以通过将 System.getProperty("user.dir") 的结果记录到控制台来找出...

要尝试的另一件事是为日志文件指定一个绝对路径,并查看该文件是否仍未生成。

于 2013-05-14T13:28:25.153 回答
0

log4j2 配置文件名应该是 log4j2.xml 并尝试路径“src/log4j2.xml”

于 2013-05-14T02:53:35.320 回答