log4j只打印error,不打印info,为什么?

116 阅读1分钟

原因

同时引入了log4j和log4j2 jar

解决方法

只留一个

比如log4j

log4j配置

maven

<!-- Log4j 1.x -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

<!-- SLF4J 桥接 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.36</version>
</dependency>

log4j.properties

# 设置日志级别(DEBUG, INFO, WARN, ERROR, FATAL)
log4j.rootLogger=INFO, console, file

# 控制台输出
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%p] %c - %m%n

# 文件输出
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/app.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%p] %c - %m%n

测试代码


import org.apache.log4j.Logger;

public class Log4jExample {
//    private static final Logger logger = Logger.getLogger(Log4jExample.class);

    //slf日志
    private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Log4jExample.class);

    public static void main(String[] args) {
        logger.debug("这是一个 DEBUG 级别的日志");
        logger.info("这是一个 INFO 级别的日志");
        logger.warn("这是一个 WARN 级别的日志");
        logger.error("这是一个 ERROR 级别的日志");
    }
}