Wicket Log4j統合の例
このチュートリアルでは、log4jフレームワークをWicket Webアプリケーションと統合する方法を説明します。 Wicketフレームワークは、SLF4j APIを使用してLog4jを確実に確認し、 `slf4j-log4j12`依存関係を宣言しています。
プロジェクト環境を確認する:
-
SLF4j 1.7.7
-
Log4j 1.2.17
-
Wicket 6.16.0
-
Maven 3
-
Tomcat 6
-
Eclipseケプラー4.3
1.プロジェクトディレクトリ
最終的なプロジェクトの構造を見直します。
プロジェクトの依存関係
Wicketとslf4j-log4j12の依存関係の両方を宣言します。
pom.xml
<properties> <wicket.version>6.16.0</wicket.version> <slf4j.version>1.7.7</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-core</artifactId> <version>${wicket.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> </dependencies>
Figure:Eclipseのpomエディタ内のpom.xml、依存関係hierarchy
3. Log4jのプロパティ
いつものように、log4j.propertiesファイルを作成し、それをresourcesフォルダに入れます。手順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.mkyong.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.デモ
たとえば、Wicket Webアプリケーションを実行します。
http://localhost:8080/Log4jAndWicket/
。 Wicketとアプリケーションの両方のロギングがコンソールに表示され、ファイルに出力されます。
図5.1:Eclipseコンソール
図5.2:D:¥apache-tomcat-6.0.37¥logs¥mywicketapp.log
ソースコードをダウンロードする
ダウンロードする –
WicketAndLog4j.zip
(10 KB)