我是stackoverflow的新手。 我试图在我的maven web应用程序中设置log4j2,我想使用文件appender。我发现这样的例子......
<File name="MyFile" fileName="logs/app.log">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
因此。我创建了一个文件夹“logs”并将app.log放在我的应用程序的某个地方。但是日志数据不会写入文件。
当我更改为在控制台中写入以进行测试时,我可以在控制台中看到日志数据。
我不太确定我要把那个“logs”文件夹放到哪里。
我的应用程序目录就是那样
src/main/java
src/main/resources
src/main/webapp
src/test/java
感谢您的帮助。
答案 0 :(得分:3)
你能提供完整的log4j2.xml文件吗?
默认情况下,File appender是bufferedIO = true,而immediateFlush = true,因此输出应立即刷新到磁盘。您可以尝试添加显式的immediateFlush属性:
<File name="MyFile" fileName="logs/app.log" immediateFlush="true">...
logs文件夹与应用程序的当前目录相关。具体取决于您的网络应用服务器。您可以通过将System.getProperty(“user.dir”)的结果记录到控制台来找到...
要尝试的另一件事是指定日志文件的绝对路径,并查看文件是否仍未生成。
答案 1 :(得分:0)
log4j2配置文件名应为log4j2.xml并尝试路径“src / log4j2.xml”