質問編集履歴

1 文法の修正

yoakashi_mist

yoakashi_mist score 7

2017/01/12 22:50  投稿

log4j 設定ファイルで設定した ファイル名の取得と書き換え
log4j 設定ファイルで設定した ファイル名の取得
###前提・実現したいこと
java(log4j)
現在、下記の状態です。
参考にしたプログラム
http://itsakura.com/java_log4jxml
どの様にしたら、ファイル名が取得出来るのでしょうか?
 
また、ファイル取得後、ファイル名を加工してログを出力したいと思っているのですが、  
どの様にしたら書き換えたファイル名で出力出来るのでしょうか?  
どなたか、ご教授ください。
宜しくお願いします。
###発生している問題・エラーメッセージ
```
eclipse を使用して、
FileAppender appender = (FileAppender)logger.getAppender("Appender1");
の appender を見ると、null が取得されています。
```
###該当のソースコード
```java
package test1;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
/**
* log4j テキストにログ出力するサンプル(設定ファイルがxml)
*/
class Sample {
   void runSample(){
       Logger logger = Logger.getLogger(Sample.class);
       // 設定ファイルを読み込む
       DOMConfigurator.configure("log4j.xml");
       //追加
       //ファイル名取得
       FileAppender appender = (FileAppender)logger.getAppender("Appender1");
       String fname = appender.getFile();
       //追加ここまで
       int a = 1;
       int b = 2;
       int c = 3;
       int d = 4;
       logger.debug("テスト" + a);
       logger.info("テスト" + b);
       logger.warn("テスト" + c);
       logger.error("テスト" + d);
   }
}
public class Test1 {
   public static void main(String[] args) {
       Sample s = new Sample();
       s.runSample();
    }
}
```
###試したこと
logger の中に ファイル名が取得出来ている事は確認出来ています。
変更前は log111.log にログが出力出来ていました。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
OS:windows8.1
開発環境:eclipse
Java SE 8
log4j 1.2.17
  • Java

    23461 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る