解答例 - 実習課題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

