目次へ

解答例 - 実習課題2 - 5.APPENDER3

(実習課題2)

全てのレベルのログイベントを故意に発生させ、WARN 以上ログイベントが発生した場合のみ、ログとして出力されるプログラムを作成しなさい。

  • Windows の NT イベントログシステムにログを渡すこと。
  • リモートの WindowsNT(2000)マシンにログを渡すこと。
  • 出力 Layout は 3 章の実習課題 1 に示す PatternLayout を使用すること。

解答例

/**
 * Log4jExample.java
 * TECHSCORE Java Jakarta Log4J 5章 実習課題2 
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

package com.techscore.log4j.chapter5.exercise2;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log4jExample {

    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("引数に設定ファイルを指定してください");
            return;
        }
        //インスタンス生成
        Logger logger = (Logger)Logger.getInstance("ntEventLogger");
        PropertyConfigurator.configure(args[0]);

        logger.debug("debug!!");
        logger.info("info!!");
        logger.warn("warn!!");
        logger.error("error!!");
        logger.fatal("fatal!!");
    }
}
/**
 * NTEventLogAppener_SERVER.java
 * TECHSCORE Java Jakarta Log4J 5章 実習課題2 
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

package com.techscore.log4j.chapter5.exercise2;

import org.apache.log4j.nt.NTEventLogAppender;

public class NTEventLogAppener_SERVER extends NTEventLogAppender {
    public NTEventLogAppener_SERVER() {
        //リモートのサーバ名を設定
        super("remote_server.techscore.4dd", "Source");
    }
}
/**
 * RemoteLoggerExample.java
 * TECHSCORE Java Jakarta Log4J 5章 実習課題2 
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

package com.techscore.log4j.chapter5.exercise2;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.nt.NTEventLogAppender;

public class RemoteLoggerExample {

    public static void main(String[] args) {
        Logger logger = (Logger)Logger.getInstance("ntEventLogger");
        PatternLayout layout = new PatternLayout();
        layout.setConversionPattern("%d [%t] %-5p %c - %m%n");
        NTEventLogAppender ntEventAppender =
            new NTEventLogAppender("server.techscore.4dd", "Source", layout);
        logger.addAppender(ntEventAppender);
        logger.setLevel(Level.WARN);

        logger.debug("debug!!");
        logger.info("info!!");
        logger.warn("warn!!");
        logger.error("error!!");
        logger.fatal("fatal!!");
    }
}

▼以下は、設定ファイルです。

#Log4J 5章 実習課題2

log4j.logger.ntEventLogger=WARN,ntEventAppender

log4j.appender.ntEventAppender=com.techscore.log4j.chapter5.exercise2.NTEventLogAppender_SERVER
log4j.appender.ntEventAppender.Source=Source

log4j.appender.ntEventAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ntEventAppender.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp