Пример интеграции Wicket + Log4j
В этом руководстве мы покажем вам, как интегрировать каркас log4j с веб-приложением Wicket. Фреймворк Wicket использует API SLF4j, чтобы убедиться, что Log4j декларирует зависимостьslf4j-log4j12
.
Проверьте среду проекта:
-
SLF4j 1.7.7
-
Log4j 1.2.17
-
Калитка 6.16.0
-
Maven 3
-
Tomcat 6
-
Затмение Кеплер 4.3
1. Каталог проектов
Просмотрите окончательную структуру проекта.
2. Зависимости проекта
Объявляет зависимости как Wicket, так и slf4j-log4j12.
pom.xml
6.16.0 1.7.7 org.apache.wicket wicket-core ${wicket.version} org.slf4j slf4j-log4j12 ${slf4j.version}
Рисунок: pom.xml в редакторе pom Eclipse, иерархия зависимостей
3. Log4j свойства
Как обычно, создайте файл log4j.properties и поместите его в папку ресурсов. Обратитесь к шагу № 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. Регистрация сообщений
Пример использования log4j для регистрации отладки и сообщений об ошибках.
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
Запустите веб-приложение Wicket, например:http://localhost:8080/Log4jAndWicket/. И консоль Wicket и приложения будут отображаться на консоли, а также выводиться в файл.
Рисунок 5.1: Консоль Eclipse
Figure 5.2 : D:pache-tomcat-6.0.37\logs\mywicketapp.log
Скачать исходный код
Скачать -WicketAndLog4j.zip (10 КБ)