1

Junit でテストできるように、このメソッド myLogger.log(e) の出力を String 変数で取得したいと考えています。

myLogger.log(e);
String s= ????
assertEqual(expected,s);
4

2 に答える 2

2

StringWriter に書き込む log4j アペンダーを作成できます。この投稿を見てください:

Webページへのlog4j出力を読み取る方法は?

于 2012-05-02T17:24:30.820 に答える
0

ロガーにアペンダーを追加できます。WriterAppenderを使用してStringWriterに書き込み、TextAreaのコンテンツをStringWriter#toString()の値に変更します。

public static void main(String[] args) {
    Logger logger = Logger.getLogger("logger");
    Layout layout = new PatternLayout();
    StringWriter stringWriter = new StringWriter();
    WriterAppender writerAppender = new WriterAppender(layout, stringWriter);
    logger.addAppender(writerAppender);

    logger.error("test");
    String string = stringWriter.toString();
    System.out.println(string);
  }

ここで説明されているように。

于 2012-10-26T10:12:10.440 に答える