J'utilise log4j depuis un certain temps maintenant et j'utilise généralement ceci en haut du log4j.xml (probablement comme beaucoup d'autres et selon Google, c'est la façon de le faire):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Évidemment, cela fonctionne, mais Eclipse ne fournit pas son aide contextuelle pour écrire le XML et tout. De plus, il affiche toujours un avertissement indiquant qu'il ne trouve pas le fichier log4j.dtd
. Maintenant, je suis curieux de savoir comment résoudre ce problème.
J'ai essayé quelques choses et celles-ci fonctionnent:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
Comme vous pouvez le voir ci-dessus, nous utilisons Maven. Par conséquent, j'ai essayé ceci, mais cela échoue:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
Eclipse sait généralement comment gérer les variables de chemin de classe, mais pourquoi cela ne fonctionne-t-il pas? Je sais que la référence ne fonctionnera pas pendant l'exécution, mais pas non plus une simple log4j.dtd
(si je ne me trompe pas), donc cela ne devrait pas être un problème.
Quelqu'un peut-il s'il vous plaît faire la lumière à ce sujet?