解答例 - 実習課題1 - 6.APPENDER4
(実習課題1)
上記の「TelnetAppenderSample」を実装し、実行しなさい。
- ポートは使用できる番号のものを使用すること
- 実行しているサーバとは別のリモートサーバから、telnetを利用して指定したポートにアクセスしてみること
解答例
/** * Log4jExample.java * TECHSCORE Java Jakarta Log4J 6章 実習課題1 * * 設定ファイルを使用する場合 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ package com.techscore.log4j.chapter6.exercise1; 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("telnetAppenderLogger"); PropertyConfigurator.configure(args[0]); while (true) { logger.debug("debug!!"); logger.info("info!!"); logger.warn("warn!!"); logger.error("error!!"); logger.fatal("fatal!!"); } } }
/** * TelnetAppenderSample.java * TECHSCORE Java Jakarta Log4J 6章 実習課題1 * * 設定ファイルを使用しない場合 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ package com.techscore.log4j.chapter6.exercise1; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.net.TelnetAppender; public class TelnetAppenderSample { public static void main(String args[]) { Logger logger = Logger.getLogger("telnetAppenderLogger"); logger.setLevel(Level.WARN); PatternLayout layout = new PatternLayout(); layout.setConversionPattern(PatternLayout.DEFAULT_CONVERSION_PATTERN); TelnetAppender appender = new TelnetAppender(); appender.setPort(9999); appender.setLayout(layout); appender.activateOptions(); logger.addAppender(appender); while (true) { logger.info("--- info! ---"); logger.warn("--- warn! ---"); logger.error("--- error! ---"); } } }
▼以下は設定ファイルです。
#Log4J 6章 実習課題1 log4j.logger.telnetAppenderLogger=WARN,telnetAppender log4j.appender.telnetAppender=org.apache.log4j.net.TelnetAppender log4j.appender.telnetAppender.port=9999 log4j.appender.telnetAppender.layout=org.apache.log4j.PatternLayout log4j.appender.telnetAppender.layout.ConversionPattern=%d [%t] %-5p %c - %m%n