【问题标题】:Issue with logging exceptions记录异常的问题
【发布时间】:2013-07-19 17:38:44
【问题描述】:

将大项目移植到 log4j2 后,我注意到异常记录不起作用。这样的代码

logger.error("Error occurred", e);

不记录异常调用堆栈。上述行的日志仅包含:

21/07/2013 15:51:34 ERROR [MyTask-1] [MyManager] Error occurred

请帮助配置记录器。

更新: 我的 log4j2.xml 通常看起来像这样(我删除了其余的附加程序和记录器):

<?xml version="1.0" encoding="UTF-8"?>
<configuration name="server" monitorInterval="30">
<appenders>
    <!-- ################# All Appender ############################### -->
    <RollingFile name="AllAppender" fileName="${sys:workspace}/logs/all.log" filePattern="${sys:workspace}/archive/logs/all_%d{yyyy-MM-dd_HH}.log">
        <PatternLayout>
            <pattern>%d{dd/MM/yyyy HH:mm:ss} %-5p [%t] [%c{1}] %m%n</pattern>
        </PatternLayout>
        <Policies>
            <OnStartupTriggeringPolicy />
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            <SizeBasedTriggeringPolicy size="10 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="50"/>
    </RollingFile>

</appenders>

<loggers>
    <!-- #################################################################################################### -->
    <!-- ################################### Loggers definitions ############################################ -->
    <!-- #################################################################################################### -->

    <logger name="com" level="debug">
        <appender-ref ref="AllAppender" />
    </logger>

    <root level="debug">
        <appender-ref ref="AllAppender"/>
    </root>

</loggers>

顺便说一下,monitorInterval 对我不起作用。我必须重新启动 tomcat 才能更新记录器配置。

【问题讨论】:

  • 您当前的配置是什么样的? log4j Manual 解释了配置它的各种方法
  • 这是一个大项目,所以我的配置文件很长。配置的哪一部分是相关的?我已经把手册弄红并配置了一切。这是目前唯一的问题。
  • 您使用什么模式来配置将日志事件写入文件的格式?
  • 添加模式到帖子

标签: java logging configuration log4j log4j2


【解决方案1】:

您使用的是什么版本的 log4j2?我记得这是旧测试版中的一个问题,但它已在 beta5 左右得到修复...如果您使用的是最近的测试版,您可以提交错误报告吗?

作为一种解决方法,您可以将模式末尾的 %m%n 替换为 %m%ex%n

【讨论】:

  • 谢谢!我有 beta 2。我会尽快检查 w/a,我也会尝试升级 log4j2 版本。你知道为什么 monitorInterval 不起作用吗?是否也是旧测试版的已知问题?
  • 我们使用了来自nexus central 的未更新的jars。从 Apache 站点升级到 beta 8 后,这两个问题都得到了解决。谢谢你的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 2014-05-01
  • 1970-01-01
相关资源
最近更新 更多