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.jarin 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)