目次へ

解答例 - 実習課題2 - 8.設定ファイルの利用2

(実習課題2)

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

  • DOMConfigurator を使用しすること。
  • WARN 以上のログイベントが発生したときは、リモートの syslogd にメッセージを渡すこと。
  • ERROR 以上のログイベントが発生したときは、メールにログを出力するようにすること。

解答例

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

package com.techscore.log4j.chapter8.exercise2;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

public class Log4jExample {

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

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

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

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="syslogAppender" class="org.apache.log4j.net.syslogAppender">
        <param name="SyslogHost" value="techscore.4dd" />
        <param name="Facility" value="local0" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-4r [%t] %-5p %c - %m%n" />
        </layout>
    </appender>
    <appender name="smtpAppender" class="org.apache.log4j.net.smtpAppender">
        <param name="From" value="[email protected]" />
        <param name="To" value="[email protected]" />
        <param name="Subject" value="Kadai82 logger message" />
        <param name="SMTPHost" value="mail.aoi" />
        <param name="BufferSize" value="1" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-4r [%t] %-5p %c - %m%n" />
        </layout>
    </appender>
    <logger name="DomConfiguratorLogger">
        <!--smtpAppender will trigger on events with priority ERROR or higher. -->
        <level value="WARN" />
        <appender-ref ref="syslogAppender" />
        <appender-ref ref="smtpAppender" />
    </logger>
</log4j:configuration>

 

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp