Salut Je souhaite afficher l'ID utilisateur, le nom d'hôte, l'adresse IP, etc. connectés dans le modèle de journal. J'utilise log4j pour le même. J'utilise MDC. Dans mon contrôleur principal, je suis capable de voir le journal avec le motif specied mais dans l'autre fichier, je ne suis pas en mesure de voir le motif, est-ce comme si j'avais défini le MDC dans une session et mettre la valeur de contexte dans d'autres contrôleurs? Veuillez nous suggérer.MDC ne fonctionne pas correctement avec Log4j
log4j.properties
log4j.rootLogger=INFO,CONSOLE,R
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:/Logs/Test.log
log4j.appender.R.ImmediateFlush=true
log4j.appender.R.Append=true
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %X{ipAddress} %X{hostName} %X{Asif}- %c - %p - %m%n
---------------------------------
MainController.java
try {
MDC.put("Asif", "Asif");
MDC.put("ipAddress", request.getRemoteAddr());
MDC.put("hostName", request.getServerName());
logger.info("Context Info : " + MDC.get("userId")+MDC.get("ipAddress")+MDC.get("hostName"));
} finally {
MDC.remove("ipAddress");
MDC.remove("hostName");
MDC.remove("Asif");
MDC.clear();
}
J'ai d'autres différents contrôleurs aussi bien. Maintenant, l'instruction du consignateur dans le contrôleur principal affiche les informations de contexte dans le modèle de journal, mais dans les autres messages de journal d'un autre contrôleur, il n'affiche pas les informations de contexte.
ma question. 1. Dois-je ajouter les informations de contexte dans tous les contrôleurs? 2. Y a-t-il une meilleure approche? 3. Est-ce qu'il me manque quelque chose?
Merci beaucoup Carrilo. –
Avez-vous la configuration Java pour le même au lieu de web.xml dans Spring MVC? –
@WebFilter (urlPatterns = {"/ *"}, description = "Filtre MDC") ajoutez-le à la classe de filtre et scannez-le. –