gpt4 book ai didi

java - Log4j2 保存文件(使用 RollingFile appender)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:16 26 4
gpt4 key购买 nike

我正在尝试使用 log4j2 为我正在开发的系统创建日志文件,我已经按照他们 site 上的说明进行操作当我运行它时没有发生错误,但日志没有保存在我设置的位置(例如“D:\logs\app.log”)。

这是我的 log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<RollingFile name="MyRollingFile" fileName="D:/logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</appenders>
<loggers>
<logger name="Log_RollingFile" level="TRACE" additivity="false">
<appender-ref ref="MyRollingFile"/>
</logger>
<root level="ERROR">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>

我试过:

  • 删除 app.log 以查看我的配置 (D:\logs\app.log) 是否有效。当我运行应用程序时,它会创建 app.log,所以我认为这意味着它看到了配置,唯一的问题是它没有保存我在 java 应用程序中所做的 log.info
  • 将根级别更改为“TRACE”,并打印 log.info。

[编辑:]

我的类路径中也有这些库

  • log4j-api-2.0-beta3.jar
  • log4j-core-2.0-beta3.jar

我是否遗漏了有关 RollingFile 配置或库的内容(也许)?

提前致谢。

最佳答案

您的记录器名称不正确。

如您链接到的配置说明中所述,记录器应根据您希望为其捕获日志记录的包/类命名。

在他们的示例中,名为 com.foo.Bar 的记录器将记录 com.foo 包中 Bar 类的所有内容,其中 TRACE 级别。

关于java - Log4j2 保存文件(使用 RollingFile appender),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551137/

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