Log4j 不打印到控制台

Cra*_*hax 3 java logging log4j2

我将 log4j 的依赖项放入 pom.xml 文件中:

<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.10.0</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

写入以下 log4j.properties 文件:

log4j.rootLogger=信息、标准输出、控制台 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");
Run Code Online (Sandbox Code Playgroud)

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

mis*_*der 11

您正在使用 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
Run Code Online (Sandbox Code Playgroud)

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