Dans mon application Web, j'initialise la connexion dans mon application Web en utilisant la fonction PropertyConfigurator.configure(filepath)
dans une servlet qui est chargée au démarrage.log4j connexion à catalina.out dans unix au lieu du fichier journal
String log4jfile = getInitParameter("log4j-init-file");
if (log4jfile != null) {
String propfile = getServletContext().getRealPath(log4jfile);
PropertyConfigurator.configure(propfile);
Je l'ai placé mes log4j.properties fichier dans WEB_INF/classes répertoire et je spécifiant le fichier en tant que
log4j.appender.rollingFile.File=${catalina.home}/logs/myapp.log
Mon enregistreur racinaire a été initally configuré comme:
log4j.rootLogger=DEBUG, rollingFile,console
(Je crois que l'attribut console enregistre également les instructions dans catalina.out)
Dans Windows, la journalisation semble se produire normalement avec les instructions figurant dans le fichier journal.
Dans unix mes instructions de journalisation sont redirigées vers catalina.out au lieu de mon fichier journal réel (qui contient uniquement les journaux du servlet d'initialisation). Tous les journaux suivants s'affichent dans catalina.out. Cela m'amène à croire que mon log4j n'est pas réglé correctement, mais je suis incapable de comprendre la cause. Quelqu'un pourrait-il m'aider à comprendre où le problème pourrait être.
Merci à l'avance, Fell
pouvez-vous expliquer quelles sont les différences entre les versions de Tomcat? –