wicket log4j、width = 207、height = 90

このチュートリアルでは、log4jフレームワークをWicket Webアプリケーションと統合する方法を説明します。 Wicketフレームワークは、SLF4j APIを使用してLog4jを確実に確認し、 `slf4j-log4j12`依存関係を宣言しています。

プロジェクト環境を確認する:

  1. SLF4j 1.7.7

  2. Log4j 1.2.17

  3. Wicket 6.16.0

  4. Maven 3

  5. Tomcat 6

  6. Eclipseケプラー4.3

1.プロジェクトディレクトリ

最終的なプロジェクトの構造を見直します。


wicket-log4j-directory、width = 431、height = 375

プロジェクトの依存関係

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


wicket-log4j-dependency、width = 459、height = 349

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とアプリケーションの両方のロギングがコンソールに表示され、ファイルに出力されます。


wicket-log4j、width = 640、height = 357


図5.1:Eclipseコンソール


wicket-log4j-file、width = 659、height = 263


図5.2:D:¥apache-tomcat-6.0.37¥logs¥mywicketapp.log

ソースコードをダウンロードする

ダウンロードする –

WicketAndLog4j.zip

(10 KB)