我想在log4j配置文件中定义一个appender MyAppender,如下所示:
log4j.appender.MyAppender.file=org.apache.log4j.FileAppender
log4j.appender.MyAppender.file.append=true
log4j.appender.MyAppender.file.file=/tmp/log/${module.name}.log
log4j.appender.MyAppender.file.threshold=INFO
log4j.appender.MyAppender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.MyAppender.file.layout.ConversionPattern=%-5p %c: %m%n
这里它是一个FileAppender,但它可以是任何东西,甚至是自定义/第三方appender。
目标是能够使用该appender模板登录到同一JVM中的不同日志文件(或其他) 。
我试图改变" module.name" 2 PropertyConfigurator.configure(...)之间的系统属性;调用,但会更改所有现有的appender。
我不认为有一种方法可以做到这一点,而无需以编程方式复制Appender并更改它的目的地。 问题是我不知道我必须事先处理哪个Appender。