Maillot LoggingFilter avec log4j
J'ai un service rest développé avec le jersey, j'ai un ContainerRequestFilters pour imprimer la demande comme suit:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
</init-param>
et j'ai logger dans le post des méthodes d'utilisation de log4j. Mais le LoggingFilter d'impression dans le journal des différents log4j. Est-il possible que LogginFilter utiliser le log4j de configuration?
J'ai essayé ceci dans le log4j.xml fichier:
<logger name="com.sun.jersey.api.container.filter.LoggingFilter">
<level value="info" />
<appender-ref ref="ROOT" />
<appender-ref ref="CONSOLE" />
</logger>
mais ça ne marche pas 🙁
- Jersey utilise un jdk enregistreur, si vous travaillez ce laissez-moi savoir! En attendant, vous pouvez le faire avec un client: le client.registre(nouveau LoggingFilter(Logger.getAnonymousLogger(), true));. Vous ne savez pas comment le faire côté Serveur si
Vous devez vous connecter pour publier un commentaire.
Une façon de gérer cela est de créer un filtre pour le java enregistreur où vous suffit de vous connecter à un message, avec l'enregistreur de log4j, ou qui jamais vous préférez et vous vous enfoncez la journalisation java en retournant toujours faux.
Jersey utilise en effet le jdk enregistreur. Vous pouvez utiliser le SLF4JBridgeHandler de transférer le JDK journal des messages de journalisation de l'infrastructure. (voir Claus Nielsen article sur le Blog)
Donc, pour obtenir ce ramassé dans votre Ressort de l'application, j'ai utilisé le
@PostConstruct
annotation.De log4j2, vous pouvez tout simplement la main sur l'ensemble de JDK sur l'exploitation forestière à log4j (sauf si vous explicitement que la journalisation JDK pour gérer une partie du reste de l'exploitation forestière), à l'aide de la
log4j-jul
de la bibliothèque et de la-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
VM argument.Source: https://logging.apache.org/log4j/2.0/log4j-jul/