comment ecrire dans le fichier log de tomcat
dans les exception je fais ex.printStackTrace();
mais comment je peux mettre moi meme
quelque chose
merci
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
comment ecrire dans le fichier log de tomcat
dans les exception je fais ex.printStackTrace();
mais comment je peux mettre moi meme
quelque chose
merci
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
System.out.println marchera aussi mais out et err sont de mauvaises méthodes. Tout d'abord parce que tu va polluer ton code, ensuite parce que le jour ou ton admin te dis: "mon gars ton catalina.out de 1Go" me pourrie mon disque degages le, tu va être obligé de toucher au source. Ensuite parce que syso et syserr sont très mauvais pour les perfs.
La solution c'est log4j, c'est prévu pour, configurable et rapide.
Avantages:
- Tu peux ne mettre que des packages (voir des classes) précis(es) en debug.
- Tu peux décider de ne plus rediriger vers la console (catalina.out) mais vers des fichiers
- Tu peux faires des roll de 3 fichiers de max 10Mo par exemple, lorsque le 3ieme est plein il recommence au premier
- Ca support common-logging
- C'est un standard de facto
- Les applications ou librairies tierces le supporte (hibernate, struts)
ouais, mais si c'est juste pour tester une variable c'est plus rapide... enfin je suis d'accord, log4J est plus propre...
System.err.println("Creation d'une enchere");
ca n ecrit pas dans mon fichier log
en tout cas pas dans le meme que ex.printStackTrace();
car celui ci me laisse des traces mais pas System.err.println
Comment s'appelle ton fichier de log ?
tomcat_webapps_log.2006-01-24.log
bizarre c'est un tomcat normal, pas de config particulière ? Tu n'as pas de fichier catalina.out ?
je ne sais pas
je n ai acces au serveur que via ssh
je ne connais pas la configuation de catalina
oui mais tu as accèss au répertoire logs non ?
oui j y ai acces et je vois la trace des exceptions et des messages mis par le serveur tomcat
System.err.println("Creation d'une enchere");
ecrit dans la console aussi
comment le rediriger vers un fichier log?
Qu'as tu comme fichier dans ton répertoire logs ?
Chez moi qd j'ecris avec System.err j'ecris dans Tomcat5.5\logs\stdout_20060123.log ou autres stdout....
:S
ben j utilise tomcat 4.1 sur serveur linux
je voudrais bien utiliser import org.apache.log4j
mais je ne l ai pas
je n ai que import org.apache.jasper et import org.apache.asp
comment obtenir import org.apache.log4j
via un jar?
Oui via le jar log4j.jar que tu peux télécharger sur http://logging.apache.org/log4j/docs/
Je t'avais demandé quels étaient les fichiers présents dans ton répertoire logs.
excuse moi d avoir oublie
les fichiers sont du type ci dessous avec juste la date qui change
localhost_log.2006-01-25.txt
pas de soucis, c'est juste pour t'aider. Bon alors oui les exceptions arrivent la dedans. Ce que je ne comprend pas c'est ou est passé ton catalina.out.Envoyé par dietrich
J'ai 2 prédictions
1) Quelqu'un à degommé le catalina.out pendant que tomcat tournait, et tomcat n'a plus jamais été redémarré
2) La redirection faite dans le catalina.bat est vers /dev/null au lieu $TOMCAT_HOME/logs/catalina.out
Dans tout les cas log4J te sauvera:
Dans la classe tu fais:
Dans le log4.properties tu fais:
Voila un exemple assé poussé (enfin suffisament pour débuter)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 log4j.rootCategory=INFO, console, RollFile log4j.category.oracle=WARN log4j.category.pms=INFO log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%p %c %d{ISO8601} - %m %n log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.RollFile=org.apache.log4j.RollingFileAppender log4j.appender.RollFile.File=${catalina.base}/logs/pms_trace.log log4j.appender.RollFile.MaxFileSize=1000KB log4j.appender.RollFile.MaxBackupIndex=4 log4j.appender.RollFile.layout=org.apache.log4j.PatternLayout log4j.appender.RollFile.layout.ConversionPattern=%d %-5p (%F:%L) - %m%n
C'est met le package oracle.* en WARN, c'est à dire que seuls les message de niveau WARN seront affichés, le package pms.* en niveau info.
Les logs sorties sur
La console et dans un rollFile, par défaut en mode INFO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 log4j.rootCategory=INFO, console, RollFile
Les rollFiles sont écris dans ${catalina.base}/logs/pms_trace.log, il y en 4 avec une limite de taille de 1000KB.
Voilou, a noter que ${catalina.base} doit être définie, normalement c'est le cas par défaut mais si ca marche pas il faut demarrer la vm avec un param.
Madame Irma
merci beaucoup
ca m a enleve une grosse epine du pied
j ai enfin reussi alors que je galerais depuis 2 jours
MERCI
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager