2011-01-12 47 views
0

使用Log4J的,我需要知道如何初始化和使用Log4j在java中.... 当我尝试使用它,我得到以下错误正在初始化,并在Java中

的log4j:警告没有附加目的地可以发现记录器(主)。 log4j:WARN请正确初始化log4j系统。

+0

考虑如果您喜欢,请提出我的答案以表示“谢谢”。 – codevour 2011-01-12 12:32:00

回答

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这使您可以轻松地切换日志记录实现。

0

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

+0

如何做到这一点? – Aravind 2011-01-12 08:53:13

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