技術ブログを書いたほうがいいということで書き綴ってみた

技術ブログを書いたほうがいいということで書き綴ってみた

log4jで出力した出力結果をjunitでテストする

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);
    }
}