2012-03-19 104 views
0

我只是在Log4J中开始了一个我面临的问题,我并没有真正理解。 我使用的Eclipse IDE,并编译后得到这个消息:在线程 “主要” java.lang.ArrayIndexOutOfBoundsException在Log4J中遇到问题

例外:0 在test.log.Program.main(Program.java:20)

见我写

static Logger logger = Logger.getLogger(Program.class); 
/** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException{      
    PropertyConfigurator.configure(args[0]); 
    logger.info("Hello PropertyConfigurator"); 
} 

请告知下面的代码。

问候。

回答

1

该问题与Log4j无关。你可能在没有参数的情况下调用你的程序,这意味着args [0]没有被定义。试试这个:

static Logger logger = Logger.getLogger(Program.class); 
/** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException{ 
    if (args.length > 0){ 
    PropertyConfigurator.configure(args[0]); 
    } 
    logger.info("Hello PropertyConfigurator"); 
} 

现在它应该工作,不管参数的存在。

+0

嗨,这是我的一次。我编辑我的代码就像在你的答案中,但现在我有以下错误:log4j:警告没有appender可以找到记录器(test.log.Program)。 log4j:WARN请正确初始化log4j系统。 log4j:WARN请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig了解更多信息。 – 2012-03-20 12:53:17

+0

@ user893953请参阅http://stackoverflow.com/questions/1140358/how-to-initialize-log4j-properly – 2012-03-20 20:21:59

+0

嗨,现在好了。我的xml文件不在正确的文件夹中! TX – 2012-05-23 11:14:37