log4j2配置文件未记录到控制台/文件

时间:2018-02-17 14:53:33

标签: log4j2 log4

我有以下我正在使用的log4j2.xml配置。 我有两个问题: -

  1. 当我的应用程序运行时,我没有任何记录到 通过apache或springframework或者控制台或mylog.log文件 hibernate类。

  2. 包“com.foo.bar”中的类,我可以更改日志 LEVEL通过“级别”属性但消息仅记录到 mylog.log文件,但没有任何内容到控制台

  3. 对上述任何建议都表示赞赏?

    谢谢你 皮特

    <Appenders>
    
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{DEFAULT} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    
        <RollingFile name="File" fileName="mylog.log"
            filePattern="mylog-%d{yyyy-MM-dd}.%i.log">
            <PatternLayout pattern="%d{DEFAULT} [%t] %-5level %logger{36} - %msg%n" />
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="30 MB" />
            </Policies>
        </RollingFile>
    
    </Appenders>
    
    <Loggers>
    
        <Logger name="com.foo.bar" level="info" additivity="false">
            <AppenderRef ref="File" />
            <AppenderRef ref="Console" />
        </Logger>
    
        <Logger name="org.apache" level="debug" >
            <AppenderRef ref="File" />
            <AppenderRef ref="Console" />
        </Logger>
    
        <Logger name="org.hibernate" level="debug" additivity="false">
            <AppenderRef ref="File" />
        </Logger>
    
        <Logger name="org.springframework" level="debug" additivity="false">
            <AppenderRef ref="File" />
        </Logger>       
    
        <Root level="all">
            <AppenderRef ref="Console" />
            <AppenderRef ref="File" />
        </Root>
    
    </Loggers>
    

2 个答案:

答案 0 :(得分:0)

请尝试更换

<Root level="all">

<Root level="trace">

答案 1 :(得分:0)

听起来你的日志配置错误。

您可以远程调试吗?您可以在哪里使用记录器来记录断点。检查记录器,然后您将找到从中获取日志文件的位置。

在启动应用程序时,还尝试为log4j配置(-Dlog4j.configuration)提供VM参数。