log4jで出力した出力結果をjunitでテストする
@Test
public void test() {
StringWriter writer = new StringWriter();
WriterAppender appender = new WriterAppender(new PatternLayout("%p, %m%n"),writer);
LogManager.getRootLogger().addAppender(appender);
LogManager.getRootLogger().setAdditivity(false);
try{
/** 何かしらのログを出力する処理 */
/** エラーログのテスト */
String logString = writer.toString();
assertThat(logString, containsString(" 確認したいログメッセージ "));
}finally{
LogManager.getRootLogger().removeAppender(appender);
LogManager.getRootLogger().setAdditivity(true);
}
}