commons-logging et log4j fichier de propriétés
Je suis en train d'utiliser log4j via commons-logging et d'avoir des problèmes si les propriétés log4j fichier n'est pas appelé log4.les propriétés.
J'obtiens l'erreur suivante:
log4j:AVERTIR Aucune appenders pourrait être trouvé pour enregistreur (LogMePlease).
log4j:AVERTIR Veuillez initialiser le log4j système correctement.
Mon code est très simple:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LogMePlease
{
static Log l = LogFactory.getLog(LogMePlease.class);
public static void main(String [] args)
{
l.warn("Hello World!");
}
}
Dans mon chemin de classe, j'ai:
commons-logging.propriétés fichier qui contient les entrées suivantes
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.configuration=log4j-test.properties
et
log4j-test.propriétés fichier
lorsque j'exécute ce code j'obtiens
log4j:WARN No appenders could be found for logger (LogMePlease).
log4j:WARN Please initialize the log4j system properly.
Si je renomme log4j-test.propriétés du fichier log4j.propriétés - ensuite, tout fonctionne.
Donc, la question est comment puis-je configurer commons logging pour utiliser le nom arbitraire pour log4j.fichier de propriétés.
OriginalL'auteur yasha | 2009-10-06
Vous devez vous connecter pour publier un commentaire.
Le fichier
commons-logging.properties
est en lecture uniquement à partir de commons logging alors que log4j va chercherlog4j.configuration
dans les propriétés du système.Donc vous devez les spécifier avec
-Dlog4j.configuration=log4j-test.properties
sur la ligne de commande comme une option JVM ou vous devez appelerSystem.setProperty()
avant le premier appel à toute méthode de journalisation (qui est généralement assez difficile à réaliser).Remarque: Si vous le pouvez, utilisez la configuration XML
log4j.xml
; c'est beaucoup plus simple et puissant pour la configuration de log4j.OriginalL'auteur Aaron Digulla
Vous avez besoin d'ajouter le protocole à l'avant du Système de valeur de la propriété comme suit: -Dlog4j.configuration=file://log4j-test.propriétés
Sans le protocole, il va chercher dans le classpath.
OriginalL'auteur aerobiotic
juil - commons-logging, il aime votre situation.
jeu de log4j.propriétés, avant d'instance de Journal.
OriginalL'auteur zg_spring