Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j2和ch.qos.logback.core.PropertyDefinerBase_Java_Logging_Configuration_Logback_Log4j2 - Fatal编程技术网

Java log4j2和ch.qos.logback.core.PropertyDefinerBase

Java log4j2和ch.qos.logback.core.PropertyDefinerBase,java,logging,configuration,logback,log4j2,Java,Logging,Configuration,Logback,Log4j2,Logback的PropertyDefinebase允许在Logback.xml中使用动态属性。我使用它为FileAppender配置一个目标目录,并使用我的应用程序配置中的值。在我的例子中,有一个枚举实例包含我要使用的值: public String getPropertyValue() {return MyConfigEnum.LOGDIR.value();} logback.xml的相关部分: <fileNamePattern>${logdir}/test.log</f

Logback的PropertyDefinebase允许在Logback.xml中使用动态属性。我使用它为FileAppender配置一个目标目录,并使用我的应用程序配置中的值。在我的例子中,有一个枚举实例包含我要使用的值:

public String getPropertyValue() {return MyConfigEnum.LOGDIR.value();}
logback.xml的相关部分:

<fileNamePattern>${logdir}/test.log</fileNamePattern>
${logdir}/test.log
。。。以及:

<define name="logdir" class="com.example.MyLogdirDefiner" />

log4j2现在需要这个习惯用法。如何在log4j2.xml中应用MyConfigEnum.LOGDIR的值


我不想在应用程序启动时设置属性。

Log4j2还允许您在配置文件中定义新属性


详细信息请参见手册的配置>属性替换部分:

谢谢,接受您的回答。显然,Log4j中没有一对一的类比。我现在实现了自己的StrLookup,比如SystemPropertiesLookup。这些查找在启动时由Log4j的插值器自动注册,比较: