解答例 - 実習課題1 - 5.APPENDER3
(実習課題1)
全てのレベルのログイベントを故意に発生させ、WARN以上ログイベントが発生した場合のみ、ログとして出力されるプログラムを作成しなさい。
- SocketAppender を使用しすること。
- 適当なコンピュータに Log4J サーバを立てること。
- SocketServer を使用すること。
- 設定ファイルと設定ディレクトリを変えてみて、どのような挙動を示すか試すこと。
- SocketServer の出力 Layout は3章の実習課題1に示す PatternLayout を使用すること。
解答例
/** * Log4jExample.java * TECHSCORE Java Jakarta Log4J 5章 実習課題1 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ package com.techscore.log4j.chapter5.exercise1; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jExample { public static void main(String[] args) { //インスタンス生成 Logger logger = (Logger)Logger.getInstance("socketAppenderLogger"); PropertyConfigurator.configure("client.properties"); logger.debug("debug!!"); logger.info("info!!"); logger.warn("warn!!"); logger.error("error!!"); logger.fatal("fatal!!"); } }▼以下は、設定ファイルです。
#Log4J 5章 実習課題1 client.properties log4j.logger.socketAppenderLogger=WARN,clientAppender #APPENDER clientAppender log4j.appender.clientAppender=org.apache.log4j.net.SocketAppender log4j.appender.clientAppender.Port=10200 log4j.appender.clientAppender.RemoteHost=techscore.4dd log4j.appender.clientAppender.layout=org.apache.log4j.PatternLayout log4j.appender.clientAppender.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#Log4J 5章 実習課題1 server.properties log4j.rootLogger= WARN,serverAppender #APPENDER serverAppender log4j.appender.serverAppender = org.apache.log4j.FileAppender log4j.appender.serverAppender.Append=true log4j.appender.serverAppender.File = /home/user_name/Log4J/log/serverAppender.log log4j.appender.serverAppender.layout=org.apache.log4j.PatternLayout log4j.appender.serverAppender.layout.ConversionPattern=%d [%t] %-5p %c - %m%n