gpt4 book ai didi

java - Log4j - 创建另一个具有相同属性的附加程序

转载 作者:行者123 更新时间:2023-11-30 08:15:54 24 4
gpt4 key购买 nike

在我的 log4j 属性文件中,我使用 DailyRollingFileAppender 配置了根记录器。它的名称是 INFOFILE。这是我的属性文件。

log4j.rootLogger = debug, INFOFILE
log4j.appender.INFOFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFOFILE.File=D:/INOVA/RequestBroker/logs/mog.log
log4j.appender.INFOFILE.ImmediateFlush=true
log4j.appender.INFOFILE.Threshold=debug
log4j.appender.INFOFILE.Append=true
log4j.appender.INFOFILE.DatePattern='.' yyyy-MM-dd-a
log4j.appender.INFOFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.INFOFILE.layout.conversionPattern=%-5p %m%n

现在我需要另一个名为 ERRORFILE 的 appender,它具有与之前配置的 INFOFILE appender 相同的属性(除了我稍后将要覆盖的 File 和 Threshold 属性)。

我知道我可以在属性文件中重写 ERRORFILE appender 的所有上述属性。或者我可以将 INFOFILE appender 的所有属性复制到我的 java 代码中的 ERRORFILE appender。但在这样做之前,我想知道是否有任何方法可以将 INFOFILE appender 的属性扩展到 ERRORFILE appender。

编辑:

举个例子,我想在 log4j.properties 文件中为 ERRORFILE appender 做这样的事情。

log4j.appender.ERRORFILE.parent=INFOFILE
log4j.appender.ERRORFILE.File=D:/INOVA/RequestBroker/logs/mog-error.log
log4j.appender.ERRORFILE.Threshold=error

谢谢。

最佳答案

不是真正的扩展,但你可以这样做:

log4j.appender.NEWLOGGER=${log4j.appender.INFOLOGGER}
log4j.appender.NEWLOGGER.File=${log4j.appender.INFOLOGGER.File}
...

等等。 Log4J 支持变量替换。在这里阅读:https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PropertyConfigurator.html

关于java - Log4j - 创建另一个具有相同属性的附加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28624688/

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