Log4j什么都不做?

brc7rcf0  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(170)

我的配置文件是类路径的path,至少我是这么认为的,我把log4j.properties文件放在resources文件夹下,log4j不做任何处理,即使我删除它也不会出错。
大家都知道我用的是maven

LoggerTest的内容:

package com.dersimi.stella.logger;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LoggerTest {
    public static void main(String[] args) {
        System.out.println("xxx");
        Logger logger = LogManager.getLogger(LoggerTest.class);
        logger.info("Hello this is an info message");
        System.out.println("xxx");
    }
}

程序输出:

xxx

xxx

网站内容log4j.properties:

log4j.rootLogger=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n

在pom.xml中没有什么特别的,只是依赖org.apache.logging.log4j log4j-core 2.17.2,编译器源目标是16,没有插件

xlpyo6sf

xlpyo6sf1#

主要问题是您尝试使用log4j2的l* log4j *(第一个)配置。
首先,请确保您具有以下依赖项:

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

第二,创建一个名为log4j2.properties的文件,其内容如下:

status = warn

appender.console.type = Console
appender.console.name = LogToConsole
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 = info
rootLogger.appenderRef.stdout.ref = LogToConsole

参考:https://mkyong.com/logging/log4j2-properties-example/

相关问题