log4j不希望在路径中写入带有系统变量的控制台和文件

时间:2013-11-21 20:45:57

标签: log4j

我有问题。 Log4j不希望写入控制台并在路径中使用系统变量进行归档。仅使用简单路径写入文件。 配置我的log4j。

    <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>

2 个答案:

答案 0 :(得分:0)

我发现了问题所在。它在Jboss中,因为jboss有自己的记录器,它不允许写入控制台。您必须更改Jboss记录器的配置。但我不知道为什么它不允许使用系统变量。

答案 1 :(得分:0)

你宣布

appender name="file" class="org.apache.log4j.DailyRollingFileAppender"

并在root标签中编写

appender-ref ref="file1" 

因为没有file1。由于这个log4j不适合你。