log4j不希望写入控制台和path中带有系统变量的文件
我有个问题。 Log4j不希望写入控制台和path中带有系统变量的文件。仅使用简单路径写入文件。 我的log4j的配置log4j不希望写入控制台和path中带有系统变量的文件,log4j,Log4j,我有个问题。 Log4j不希望写入控制台和path中带有系统变量的文件。仅使用简单路径写入文件。 我的log4j的配置 <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
<!-- <param name="file" value="d:/lv-098_JAVA/logs/log.log" /> -->
<param name="file" value="${LV098_JAVA}/src/main/resources/logs/log.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p (%F:%L:%M) %c{1} %m%n" />
</layout>
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="file1" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
我找到了问题所在。它在Jboss中,因为Jboss有自己的记录器,不允许写入控制台。您必须更改Jboss记录器的配置。但我不知道为什么它不允许使用系统变量。您正在声明
appender name="file" class="org.apache.log4j.DailyRollingFileAppender"
然后在根标记中写入
appender-ref ref="file1"
因为没有这样的
文件1
。由于此原因,log4j不适用于您。您如何声明系统变量?您是否正在执行java-DLV098_java=?我在Windows系统变量中声明了它。该变量等于“d:\SDevel\lv-098_JAVA”。