【问题标题】:Log4j doesn't print to consoleLog4j 不打印到控制台
【发布时间】:2018-07-14 00:51:17
【问题描述】:

我在 pom.xml 文件中放了一个 log4j 的依赖:

<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.10.0</version>
        </dependency>

编写了以下 log4j.properties 文件:

log4j.rootLogger=INFO、标准输出、控制台 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

并将此文件放在“资源”文件夹下。

最后,我放了环境变量 LOG4J_log4j.configurationFile = log4j.properties

不过,当我运行我的应用程序时,行:

logger.info("Hello");

不向控制台写入任何内容。 你知道可能是什么问题吗?

【问题讨论】:

    标签: java logging log4j2


    【解决方案1】:

    您正在使用 log4j2,您的属性文件名应为log4j2.properties。你可以像下面这样配置它。您不必放置任何环境变量。

    appenders = console
    appender.console.type = Console
    appender.console.name = STDOUT
    appender.console.layout.type = PatternLayout
    appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n 
    
    rootLogger.level = debug
    rootLogger.appenderRefs = stdout
    rootLogger.appenderRef.stdout.ref = STDOUT
    

    来源 = https://springframework.guru/log4j-2-configuration-using-properties-file/

    【讨论】:

      【解决方案2】:

      我建议您先从一个工作示例开始,然后逐步添加您自己的配置细节。然后你会看到它在哪里断裂。

      在您上面的代码中,我看到了以下潜在问题:

      • 在“log4j.rootLogger=INFO, stdout, console”行中,您指的是 一个未定义的名为“控制台”的附加程序。这可能会引发 内部异常永远不会被记录在任何地方,因为记录本身因此无法正常工作。
      • 您通过以下方式配置配置文件位置的方法 环境变量似乎没有在任何地方记录。你这从哪里来的。如果文件是 如您所说,在资源目录中,它将最终位于 类路径。如果是这样,可以按照这里的描述指向:Where is the correct location to put Log4j.properties in an Eclipse project?,也就是在启动JVM时添加命令行开关-Dlog4j.configuration=file:log4j.properties
      • log4j.properties 文件的格式可能与您使用的 log4j 版本存在冲突。属性文件似乎属于 log4j,而您的 Maven 工件是指 log4j2。

      【讨论】:

        猜你喜欢
        • 2014-08-24
        • 2012-02-07
        • 2015-05-04
        • 2016-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多