2012-03-19 3 views
0

Je ne fais que commencer dans Log4J et je suis confronté à un problème que je ne comprends pas vraiment. J'utilise Eclipse IDE, et après compilation, reçu ce message:Faire face à un problème dans Log4J

Exception dans le thread "principal" java.lang.ArrayIndexOutOfBoundsException: 0 à test.log.Program.main (Program.java:20)

Voir ci-dessous le code que j'ai écrit

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"); 
} 

S'il vous plaît conseiller.

Cordialement.

Répondre

1

Le problème n'est pas lié à Log4j. Vous appelez probablement votre programme sans argument, ce qui signifie que args [0] n'est pas défini. Essayez ceci:

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"); 
} 

Maintenant, cela devrait fonctionner indépendamment de la présence d'un paramètre.

+0

Salut, c'est encore moi. Je modifie mon code comme dans votre réponse, mais maintenant j'ai l'erreur suivante: log4j: WARN Aucun appender n'a pu être trouvé pour logger (test.log.Program). log4j: WARN Veuillez initialiser correctement le système log4j. log4j: WARN Voir http://logging.apache.org/log4j/1.2/faq.html#noconfig pour plus d'informations. –

+0

@ user893953 voir http://stackoverflow.com/questions/1140358/how-to-initialize-log4j-properly –

+0

Bonjour, c'est OK maintenant. Mon fichier xml n'est pas dans le bon dossier! Tx –