View Full Version : tomcat, servlet e log
COme faccio ad assegnare al file di log relativo ad una servlet il ruolo di standard error?? Il risultato di una exception.printStackTrace(System.err), mi viene sputato a video nella finestrella dos relativa a mTomcat e non nel file log!!
non mi sono spiegato bene? :confused:
texerasmo
17-06-2004, 16:09
prova così ..
nel server.xml
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
<!-- tuawebbapp configurazione del contesto -->
<Context path="/tuawebbapp " docBase="tuawebbapp " debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_tuawebbapp _log." suffix=".txt" timestamp="true"/>
......
...
....
ma puoi modificare la servlet che ti spara lo stacktrace sul System.err?
In caso affermativo allora è facile: usa il metodo log(String message, Throwable t).
Altrimenti diventa tutto + complesso. Potresti provare a redirigere il System.err tramite System.setErr(PrintStream err) verso una sottoclasse di PrintStream che abbia un riferimento al web-context per poterne usare i metodi di logging.
Altrimenti ancora non ho capito una mazza :D
Avevo già provato il primo consiglio...il fatto è che uso delle System.err.println che funzionano solo prima del dopost() della servlet!
Con Apache http la System.err o la ex.printStackTrace() scriveva tutto sul log!
cmq ora provo il metodo log()...
Ottimo il metodo log funziona ;)
Originariamente inviato da cn73
cmq ora provo il metodo log()...
se puoi evita sempre cose come System.err per loggare: l'utilizzo dei canali in, out e in parte err è più pertinente quando si cerca l'interoperabilità tra i processi.
e poi il metodo log è più figo e soprattutto redirezionabile tramite descrittore xml del web context, come ci ha mostrato il prode texerasmo.
Perfetto grazie! Uso da poco Tomcat e questa informazione è utilissima ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.