2009-08-21 6 views
0

Dans mon code de servlet Java, je veux être en mesure d'écrire par programmation dans le journal d'accès de la jetée. Je suis conscient que jetty enregistrera automatiquement chaque requête HTTP entrante dans le journal d'accès. Cependant, mon servlet doit parfois ajouter sa propre ligne au journal d'accès. Est-ce que quelqu'un ici a fait quelque chose de similaire?Jetty: Comment écrire pour accéder aux journaux

Merci!

Répondre

3

Je pense que Lispnik est sur la bonne voie. Vous voulez obtenir un handle sur le NCSARequestLog décrit dans http://docs.codehaus.org/display/JETTY/Logging+Requests et envoyer des messages de journal directement, en appelant log(). Vous voulez donc trouver l'endroit dans votre code qui est actuellement en train de configurer le NCSARequestLog et lui substituer une version modifiée du code qui retournera le pointeur au journal qu'il a créé.

2

Si quelqu'un trébuche ici en cherchant la même chose, c'est une autre de ces choses que la jetée fait facilement, mais la documentation est pauvre pour. Quoi qu'il en soit, pour Jetty 9, vous venez d'ajouter jetty-requestlog.xml, qui est un fichier en $JETTY_HOME/etc/ à $JETTY_HOME/etc/jetty.conf pour obtenir un journal de base des demandes. Vous devez redémarrer votre serveur pour que la configuration prenne effet, bien sûr.

1

Par ailleurs, une autre façon d'accomplir la même chose dans la jetée 9 est d'ajouter les trois lignes suivantes (de here) dans la section "Handlers" en $JETTY_HOME/etc/jetty.xml:

<Item> 
    <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> 
</Item> 

et, à la fin de la section "Handlers", ajoutez le code suivant:

<Ref id="RequestLog"> 
    <Set name="requestLog"> 
    <New id="RequestLogImpl" class="org.eclipse.jetty.NCSARequestLog"> 
    <Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg> 
     <Set name="retainDays">90</Set> 
     <Set name="append">true</Set> 
     <Set name="extended">false</Set> 
     <Set name="LogTimeZone">GMT</Set> 
    </New> 
    </Set> 
</Ref> 

C'est, faire ces sections ressemblent à la section « Configuration des journaux d'une demande de la jetée serveur » dans ce page.

Questions connexes