java - 如何解决 'Initialize the log4j system properly'错误?

标签 java log4j log4j2

我创建了一个 Maven 项目,并在 src -> test -> java 下创建了包 learnlog4j 并在该包下测试了类。

我在项目的根目录下创建了 log4j.properties,其中包含以下内容 -

log4j.rootLogger=INFO, stdout

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{HH:mm:ss:SSS} %p [%C{1}] %m%n

但是当我运行以下测试类时,

public class Log4jExample1 {
    final static Logger logger = Logger.getLogger(Log4jExample1.class);

    @BeforeClass
    public void beforeClass(){
        logger.info("IN Before Class");
    }

    @Test
    public void test1(){
        logger.info("IN Test");
    }

    @AfterClass
    public void afterClass(){
        logger.info("IN After Class");
    }
}

它给出了错误 -

log4j:WARN No appenders could be found for logger (learnlog4j.Log4jExample1).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

我在 stackoverflow 上进行了搜索,但这没有帮助。您能告诉我 log4j.properties 是否位于正确的位置吗?或者让我知道是否有需要纠正的地方。

最佳答案

您可以添加

BasicConfigurator.configure();

在 beforeClass() 中 - 获取基本控制台适配器的方法。

要使用 log4j.properties,请使用

PropertyConfigurator.configure("log4j.properties");

参见No appenders could be found for logger(log4j)?了解详情。

关于java - 如何解决 'Initialize the log4j system properly'错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47648978/

相关文章:

log4j - 如何让 log4j 删除旧的旋转日志文件?

elasticsearch - 来自 tomcat 集群的日志传送

java - findViewById 错误无法在 XML 中找到 id

java - 我的程序不断收到错误代码,有人可以看一下吗?

java - 从具有随机生成 key 的 firebase 获取数据

java - 如何配置 log4j 以将不同的日志级别记录到同一记录器的不同文件中

java - Xalan 和 Java JDK 1.5 的问题

java - log4j2属性为控制台和文件设置不同的阈值

java - log4j2 不写入文件

java - 如何阻止 Hibernate 登录 catalina.out/catalina.log