在 log4j2 中设置 AppenderRef 或 Logger 的级别
Setting level on AppenderRef or Logger in log4j2
我有一个 log4j2.xml 配置文件,其中包含一个 Logger 和一个 Appender。
<Logger name="LoggerName" additivity="false">
<AppenderRef ref="AppenderName" level="info"/>
</Logger>
<!-- Single appender for logs -->
<RollingFile name="AppenderName"
fileName="${basePath}/filename.csv.gz"
filePattern="${basePath}/filename.csv.gz.%d{yyyy-MM-dd-HH}.gz">
<PatternLayout>
<pattern>%m%n</pattern>
</PatternLayout>
<ThresholdFilter level="debug"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy fileIndex="nomax"/>
</RollingFile>
这导致我的程序在 运行 时无法注销。我正在尝试使用 INFO 级别登录。但是,如果我将 Logger 定义修改为:
<Logger name="LoggerName" additivity="false" level="info">
<AppenderRef ref="AppenderName"/>
</Logger>
...我的日志又开始工作了。据我所知,这两个都是有效的用例,并且考虑到我有一个 Logger 和一个 Appender,我认为它们应该是等价的。
我也尝试过不使用 ThresholdFilter,但没有成功。我在这里错过了什么?
谢谢,
每个记录器都有一个记录级别。如果您从 Logger 声明中省略 level 关键字,则它默认为 ERROR。 AppenderRef 上的级别不同。它实际上等同于向 AppenderRef 添加 ThresholdFilter,因此如果缺少 level 属性,就好像 ThresholdFilter 不存在一样。所以省略它只会导致事件传递给 Appenders。
我有一个 log4j2.xml 配置文件,其中包含一个 Logger 和一个 Appender。
<Logger name="LoggerName" additivity="false">
<AppenderRef ref="AppenderName" level="info"/>
</Logger>
<!-- Single appender for logs -->
<RollingFile name="AppenderName"
fileName="${basePath}/filename.csv.gz"
filePattern="${basePath}/filename.csv.gz.%d{yyyy-MM-dd-HH}.gz">
<PatternLayout>
<pattern>%m%n</pattern>
</PatternLayout>
<ThresholdFilter level="debug"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy fileIndex="nomax"/>
</RollingFile>
这导致我的程序在 运行 时无法注销。我正在尝试使用 INFO 级别登录。但是,如果我将 Logger 定义修改为:
<Logger name="LoggerName" additivity="false" level="info">
<AppenderRef ref="AppenderName"/>
</Logger>
...我的日志又开始工作了。据我所知,这两个都是有效的用例,并且考虑到我有一个 Logger 和一个 Appender,我认为它们应该是等价的。
我也尝试过不使用 ThresholdFilter,但没有成功。我在这里错过了什么?
谢谢,
每个记录器都有一个记录级别。如果您从 Logger 声明中省略 level 关键字,则它默认为 ERROR。 AppenderRef 上的级别不同。它实际上等同于向 AppenderRef 添加 ThresholdFilter,因此如果缺少 level 属性,就好像 ThresholdFilter 不存在一样。所以省略它只会导致事件传递给 Appenders。