在Java中初始化和使用Log4J

时间:2011-01-12 08:36:50

标签: java log4j

我需要知道如何在java中初始化和使用Log4j .... 当我尝试使用它时,我收到以下错误

log4j:WARN找不到记录器(主)的追加器。 log4j:WARN请正确初始化log4j系统。

3 个答案:

答案 0 :(得分:2)

您可以将log4j.properties放入src文件夹,系统会自动检查log4j配置。默认配置可能如下所示。

### Root Logger
log4j.rootLogger=DEBUG, Console

### Console Appender
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d (%t) %-5p %c: %m%n

否则,您可以通过编程方式调用默认配置。

 import com.foo.Bar;

 // Import log4j classes.
 import org.apache.log4j.Logger;
 import org.apache.log4j.BasicConfigurator;

 public class MyApp {

   // Define a static logger variable so that it references the
   // Logger instance named "MyApp".
   static Logger logger = Logger.getLogger(MyApp.class);

   public static void main(String[] args) {

     // Set up a simple configuration that logs on the console.
     BasicConfigurator.configure();

     logger.info("Entering application.");
     Bar bar = new Bar();
     bar.doIt();
     logger.info("Exiting application.");
   }
 }

取自Apache log4j的short introduction document。在向他们提出减少量之前,你应该先找similiar questions

考虑切换到SLF4J,这使您可以轻松切换日志记录实施。

答案 1 :(得分:1)

首先,请阅读:http://logging.apache.org/log4j/1.2/manual.html

运行JVM时,缺少以下属性:

-Dlog4j.configuration=mylog4jconfig.xml

但是:你的问题表明你刚开始使用log4j。请注意,它的作者CekiGülcü已经过时了,它为java实现了新的记录器,并建议人们使用它。请参见Logback(http://logback.qos.ch/)和SLF4J

答案 2 :(得分:0)

您需要在类路径中包含log4j.properties文件。