Spring MVC + Log4j Beispiel
In diesem Tutorial zeigen wir Ihnen, wie Sie das log4j-Framework verwenden, um die Protokollierung in einer Spring MVC-Webanwendung durchzuführen.
Verwendete Technologien und Werkzeuge:
-
Log4j 1.2.17
-
Feder 4.1.6.FREIGABE
-
Maven 3
-
Tomcat 6
-
Eclipse Kepler 4.3
Note
Standardmäßig verwendet Spring (Federkern) die JCL (commons-logging) für die Protokollierung, und die JCL verfügt über einen Laufzeiterkennungsalgorithmus, um herauszufinden, ob andere Protokollierungsframeworks vorhanden sind bekannte Stellen auf dem Projektklassenpfad.
Um log4j zu integrieren, müssen Sie nur Folgendes tun:
-
Setzt die
log4j.jar
in den Projektklassenpfad. -
Erstellen Sie eine
log4j.properties
- oderlog4j.xml
-Datei im Projektstammklassenpfad (wenn Sie der Maven-Standardverzeichnisstruktur folgen, sollte dies derresources
-Ordner sein).
1. Projektverzeichnis
Überprüfen Sie die endgültige Projektstruktur.
2. Projektabhängigkeiten
Deklariert die folgenden Abhängigkeiten:
pom.xml
4.1.6.RELEASE 1.2.17 org.springframework spring-webmvc ${spring.version} log4j log4j ${log4j.version}
3. log4j.properties
Erstellen Sie einelog4j.properties
-Datei und fügen Sie sie inresources
ein. Ordner finden Sie in der obigen Projektverzeichnisstruktur.
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. Spring MVC Controller + Nachrichtenprotokollierung
Ein einfacher Controller, um eine Begrüßungsseite zurückzugeben. Außerdem erfahren Sie, wie Sie mit log4j protokollieren.
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
Zugriffs-URL: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
Stegkonsole
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)
Quellcode herunterladen
Laden Sie es herunter -spring-mvc-log4j.zip (5 KB)