Salut,
Question surement "bête" mais est-il possible de "récupérer" la StackTrace sans passer par un "log.LEVEL('mon message')" ?
En fait je veux récupérer la console dans mon fichier de log !
Merci d'avance.
Version imprimable
Salut,
Question surement "bête" mais est-il possible de "récupérer" la StackTrace sans passer par un "log.LEVEL('mon message')" ?
En fait je veux récupérer la console dans mon fichier de log !
Merci d'avance.
En fait, je veux "juste" récupérer tout ce qui s'écrit dans la console (les exceptions) dans mon fichier de log.
Sans avoir modifier mes classes et rajouter un log.ERROR("Error"), en plus du trhow new Exception("Error")
bonjour,
Pour cela il faut utiliser un ConsoleApender
Merci pour ta réponse;
J'ai déjà un appender (RollingFile).
Mais il n'écrit rien à part les logs de démarrage du serveur (Tomcat).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <appender name="fileinfo" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="monLog.log"/> <param name="append" value="true" /> <param name="encoding" value="UTF-8" /> <param name="MaxFileSize" value="1MB"/> <param name="MaxBackupIndex" value="20"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss} %-5p : %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="INFO"/> <param name="levelMax" value="FATAL"/> </filter> </appender>
Il faut que je passe par un logger dans toutes les classes et faire un logger.Level(e.getMessage()), mais je voudrais éviter ça.
Oups !
je n'étais pas réveillé quand j'ai lus ton post :aie:
En fait, il faut que tu redirige la sortie standard et la sorite erreur !
Pour cela tu dois créer ton propre outputstream dédié pour les logs !
Ensuite tu dois redirigé les sortie vers ton outputstream avec System.setOut et System.setErr et le tour est joué :D
Un exemple ici qui correspond exactement a ce qu'il te faut :mrgreen:
Merci beaucoup ! Je vais mettre ça en place ;)