Wicket + Log4j Integrationsbeispiel

In diesem Tutorial zeigen wir Ihnen, wie Sie das log4j-Framework in die Wicket-Webanwendung integrieren. Das Wicket-Framework verwendet SLF4j-APIs, um sicherzustellen, dass Log4j die Abhängigkeit vonslf4j-log4j12deklariert.
Überprüfen Sie die Projektumgebung:
-
SLF4j 1.7.7
-
Log4j 1.2.17
-
Wicket 6.16.0
-
Maven 3
-
Tomcat 6
-
Eclipse Kepler 4.3
1. Projektverzeichnis
Überprüfen Sie die endgültige Projektstruktur.

2. Projektabhängigkeiten
Deklariert sowohl Wicket- als auch slf4j-log4j12-Abhängigkeiten.
pom.xml
6.16.0 1.7.7 org.apache.wicket wicket-core ${wicket.version} org.slf4j slf4j-log4j12 ${slf4j.version}
Abbildung: pom.xml im Eclipse-Pom-Editor, Abhängigkeitshierarchie

3. Log4j-Eigenschaften
Erstellen Sie wie gewohnt eine log4j.properties-Datei und legen Sie sie im Ressourcenordner ab. Siehe Schritt 1.
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
log4j.appender.file.File=${catalina.home}/logs/mywicketapp.log
log4j.appender.file.MaxFileSize=5KB
log4j.appender.file.MaxBackupIndex=5
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. Nachrichtenprotokollierung
Beispiel für die Verwendung von log4j zum Protokollieren einer Debug- und Fehlermeldung.
Hello.java
package com.example.hello;
import org.apache.log4j.Logger;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
public class Hello extends WebPage {
// Get logger
private static final Logger logger = Logger.getLogger(Hello.class);
private static final long serialVersionUID = 1L;
public Hello() {
// logs debug
if (logger.isDebugEnabled()) {
logger.debug("Hello()");
}
// logs exception
logger.error("Error message", new Exception("ABC"));
add(new Label("message", "Wicket + Log4j"));
}
}
5. Demo
Führen Sie die Wicket-Webanwendung aus, zum Beispiel:http://localhost:8080/Log4jAndWicket/. Sowohl die Wicket- als auch die Anwendungsprotokollierung werden auf der Konsole angezeigt und in einer Datei ausgegeben.

Abbildung 5.1: Eclipse-Konsole

Figure 5.2 : D:pache-tomcat-6.0.37\logs\mywicketapp.log
Quellcode herunterladen
Laden Sie es herunter -WicketAndLog4j.zip (10 KB)