Exemple Spring MVC + Log4j

Dans ce didacticiel, nous vous montrerons comment utiliser le cadre log4j pour effectuer la journalisation dans une application Web Spring MVC.
Technologies et outils utilisés:
-
Log4j 1.2.17
-
Spring 4.1.6.RELEASE
-
Maven 3
-
Tomcat 6
-
Eclipse Kepler 4.3
Note
Par défaut, Spring (spring-core) utilise le JCL (commons-logging) pour la journalisation, et le JCL dispose d'un algorithme de découverte d'exécution pour trouver d'autres frameworks de journalisation emplacements connus sur le chemin des classes du projet.
Pour intégrer log4j, il vous suffit de:
-
Place les
log4j.jardans le chemin de classe du projet. -
Créez un fichier
log4j.propertiesoulog4j.xmldans le chemin de classe racine du projet (si vous suivez la structure de répertoire standard de Maven, cela devrait être le dossierresources).
1. Répertoire des projets
Passez en revue la structure finale du projet.

2. Dépendances du projet
Déclare les dépendances suivantes:
pom.xml
4.1.6.RELEASE 1.2.17 org.springframework spring-webmvc ${spring.version} log4j log4j ${log4j.version}
3. log4j.properties
Créez un fichierlog4j.properties et placez-le dans le fichierresources. dossier, reportez-vous à la structure du répertoire du projet ci-dessus.
log4j.properties
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=${catalina.home}/logs/myapp.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
4. Contrôleur Spring MVC + enregistrement des messages
Un simple contrôleur pour renvoyer une page d'accueil. De plus, il vous montre comment utiliser log4j pour effectuer la journalisation.
WelcomeController.java
package com.example.common.controller;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class WelcomeController {
private static final Logger logger = Logger.getLogger(WelcomeController.class);
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView getWelcome() {
//logs debug message
if(logger.isDebugEnabled()){
logger.debug("getWelcome is executed!");
}
//logs exception
logger.error("This is Error message", new Exception("Testing"));
ModelAndView model = new ModelAndView("welcome");
model.addObject("msg", "Hello Spring MVC + Log4j");
return model;
}
}
5. Demo
5.1 Download the source code, and run the web app with the embedded Jetty container.
$ mvn jetty:run
URL d'accès:http://localhost:8080/spring-mvc-log4j/
5.2 All logging messages will be displayed in the console.
log4j.properties
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Console jetée
2015-06-19 14:10:35 DEBUG WelcomeController:19 - getWelcome is executed!
2015-06-19 14:10:35 ERROR WelcomeController:23 - This is Error message
java.lang.Exception: Testing
at com.example.common.controller.WelcomeController.getWelcome(WelcomeController.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
Télécharger le code source
Téléchargez-le -spring-mvc-log4j.zip (5 Ko)