Lorsque notre application émet des erreurs que nous attrapons, nous mettons le message et stacktrace dans un fichier journal créé spécifiquement pour notre application (myapp.log). Par exemple:Utilisation de log4j avec conteneur Web (partie du serveur J2EE)
public class SomeClass {
OurLogger log = OurLogger.getLogger ("myapp", SomeClass.class);
public void someMethod {
try {
//code
}
catch (DataAccessException e)
{
log.error(e.getMessage(), e);
}
}
}
Nous faisons cela parce que depuis que nous sommes dans un environnement où plusieurs applications résident sur un serveur d'applications ... la nôtre et tous les autres journaux d'applications doit être séparé de la server.log
.
Cependant, pour certains cas où nous n'attrapons pas l'erreur ... la trace de la pile est en cours d'écriture server.log
Dans ces cas également, nous aimerions envoyer des erreurs de pile à myapp.log
. Je sais que nous pouvons définir une exception dans web.xml et la rediriger vers une page jsp mais est-il possible, dans ce cas, de ne pas envoyer la trace de la pile à server.log
mais plutôt à myapp.log
? Autre que d'attraper l'exception par changement de code bien sûr.
Quel serveur d'applications utilisez-vous? –
glassfish v2. mais nous avons un groupe qui gère la configuration du serveur. donc il ne sera pas facile pour moi de leur demander de faire un changement ... à moins que je puisse le sauvegarder :) – Omnipresent
Ok. En passant, GlassFish utilise Java Logging (pas log4j). –