0

我正在学习 log4j。但是,我收到这个错误,不确定我是否遗漏了什么。我把所有的罐子都准备好了。

public class LoggingDemo {
    private static final Logger logger = LoggerFactory.getLogger(LoggingDemo.class);

    public static void main(String[] args) {
        logger.info("Starting App....");
        System.out.println("Testing log4j.......");
        logger.info("Terminating App!");
    }

}

在此处输入图像描述

4

3 回答 3

1

当我创建一个新项目时,我总是得到这个。您需要创建一个 log4j.properties 文件并将其添加到您的类路径中。请参阅手册http://logging.apache.org/log4j/1.2/manual.html的配置部分

或者只是将您的代码更改为:

public class LoggingDemo {
    private static final Logger logger = LoggerFactory.getLogger(LoggingDemo.class);

    public static void main(String[] args) {
        BasicConfigurator.configure();
        logger.info("Starting App....");
        System.out.println("Testing log4j.......");
        logger.info("Terminating App!");
    }

}
于 2012-09-28T15:13:45.803 回答
0

我想到了。我缺少一个 log4j.properties 文件。有同样问题的人应该在 src 文件夹中创建一个 log4j.properties 文件,其内容如下。

输出到控制台

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to 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{ABSOLUTE} %5p %c{1}:%L - %m%n

在此处输入图像描述

于 2012-09-28T15:14:22.733 回答
0

当出现错误时,请初始化 log4j,这意味着项目类路径中的“log4j.properties”文件不可用。

您需要创建一个 log4j.properties 文件并将其添加到您的类路径中。

或者您可以传递 JVM 参数,如下所示

-Dlog4j.configuration=文件:.\log4j.properties

因此 JVM 将从指定的属性初始化 log4j。

在 log4j 文件中,您可以指定以下内容

根记录器配置。WARN,它是 log4j 级别,ConsoleAppender 是将输出打印到控制台的附加程序。

log4j.rootLogger=警告,ConsoleAppender

似乎问题与如何正确初始化 log4j 重复?

于 2015-07-10T04:44:04.367 回答