我有一个log4j文件,我在其中创建了一个新的日志文件。但是,我希望只有在设置了特定的环境变量(FEATURE_FLAG)时才创建这个文件。否则,我根本不希望创建日志文件。
我稍微查了一下,并在log4jxml文件中编写了以下过滤器:
<logger name="MyLogger" level="INFO" additivity="false">
<AppenderRef ref="MyLogger">
<ScriptFilter onMatch="ACCEPT" onMisMatch="DENY">
<Script language="groovy"><![CDATA[
return System.getProperty("FEATURE_FLAG", "0").equalsIgnoreCase("0");
]]></Script>
</ScriptFilter>
</AppenderRef>
</logger>
然而,当我运行这个程序时,我仍然看到日志文件被创建了,尽管如果FEATURE_FLAG没有被设置为0的话,日志文件中没有写入任何内容。
我想要的是:如果未启用FEATURE_FLAG,则甚至不应创建该文件。
请建议. TIA. Omi
1条答案
按热度按时间p5fdfcr11#
您似乎愿意设置系统属性
FEATURE_FLAG
来打开/关闭日志记录。如何使用系统属性
log4j2.configurationFile
(见文档)?然后你可以有多个配置文件。其中一个没有FileAppender的文件肯定不会创建任何日志文件。此外,你仍然有机会发送消息到例如stdout或通过网络。