【问题标题】:log4j not logging when "Task" is in the log message?当“任务”在日志消息中时,log4j 不记录?
【发布时间】:2020-02-21 11:15:35
【问题描述】:

似乎 Log4j 没有使用 ConsoleAppender 记录任何包含“任务”的消息。

public class Main
    public static void main(String[] args)
    {
        Log log = LogFactory.getLog("Main");
        log.info("'task' is logged, but");
        log.info("'Task' is not logged ?!");

        // wait for logging to finish
        try
        {
            Thread.sleep(100);
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }
    }
}

log4j.properties:

log4j.rootLogger = TRACE, CA

log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.conversionPattern=%d{HH:mm:ss.SSS} %-5p %c.%M - %m%n

我使用commons-logging 1.2,log4j 1.2.17,openjdk版本“13.0.2”2020-01-14

这是一个错误吗? FileAppender 正常工作。我也可以 System.out.println("Task") 并在控制台上看到它,所以它不是我的 IDE 过滤任何东西。

如果有人可以尝试并验证它,我会很高兴,因为我非常困惑。

【问题讨论】:

    标签: java log4j apache-commons-logging


    【解决方案1】:

    事实证明,由于导入了公司配置,我的 IntelliJ IDEA 插件 Grep Console 正在过滤带有 .*Task.* 的行。 在 IntelliJ 中,转到设置 > 其他设置 > Grep 控制台 > 输入过滤。检查是否有任何意外。

    【讨论】:

    • 我仍然不知道为什么System.out.println("Task") 会打印到控制台。但这已经不重要了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2013-11-08
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多