2016-12-01 96 views
-1

我一直在使用log4j 2(2.7),它工作得很好,直到我不得不重新安装IDE(Eclipse Neon J2EE版本)。 现在我只能将日志记录到日志文件中,而不是控制台。 这是我log4j2.xml文件:Log4j 2控制台输出停止工作

<Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> 
    </Console> 

    <File name="log" fileName="target/test.log" append="true"> 
    <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M %msg%xEx%n"/> 
    </File> 
</Appenders> 

<Loggers> 
    <Root level="error"> 
     <AppenderRef ref="Console"/> 
    </Root> 

    <Root level="TRACE"> 
     <AppenderRef ref="log" /> 
    </Root> 
</Loggers> 

输出到日志完美的作品,正如我所说。

回答

1

尝试声明Root只有一次。

例子:

<Loggers> 
    <Root> 
     <AppenderRef ref="Console" level="error"/> 
     <AppenderRef ref="log" level="trace"/> 
    </Root> 
</Loggers> 
1

我Sazzad的回答一致:你只能有一个根记录。我会建议在根记录器上指定一个级别,并仅在需要它的AppenderRef上覆盖该级别。所以:

<Loggers> 
    <Root level="trace"> 
    <AppenderRef ref="Console" level="error"/> 
    <AppenderRef ref="log"/> 
    </Root> 
</Loggers> 

此外,如果这只是从这个问题还是从实际的配置文件中忽略不知道,但是配置确实应该有一个<Configuration>开头和</Configuration>元素结束。

+0

道歉。现在更正。 –