nablarch.test.core.log.LogVerifier Maven / Gradle / Ivy
The newest version!
package nablarch.test.core.log;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import nablarch.core.log.Logger;
import nablarch.core.log.LoggerManager;
import nablarch.core.log.basic.LogContext;
import nablarch.core.log.basic.LogLevel;
import nablarch.core.log.basic.LogWriter;
import nablarch.core.log.basic.ObjectSettings;
import nablarch.core.util.Builder;
import nablarch.core.util.StringUtil;
import nablarch.core.util.annotation.Published;
import nablarch.test.Assertion;
import nablarch.test.NablarchTestUtils;
import static nablarch.core.util.Builder.concat;
/**
* ログ出力結果を検証するためのログ出力クラス。
*
*
* - テスト実行前に期待するログメッセージ(ExpectedLogMessage)一覧を設定する。
* ({@link #setExpectedLogMessages(List)} )
* テスト実行中、本クラスはLogWriterの実装クラスとしてログ出力を受け取る。
* - 検証メソッド({@link #verify(String)})実行時点で、期待するログメッセージ一覧のうち、
* 実際にはログ出力されなかったものがあれば、例外が発生する。
*
*
* @author T.Kawasaki
*/
public class LogVerifier implements LogWriter {
/** ログレベルを取得するためのキー */
private static final String LOG_LEVEL_KEY = "logLevel";
/** メッセージを取得するためのキー */
private static final String MESSAGE_PREFIX_KEY = "message";
/** 必須のキー一覧 */
private static final Set REQUIRED_KEYS =
NablarchTestUtils.asSet(LOG_LEVEL_KEY, MESSAGE_PREFIX_KEY + "1");
/** 期待するログメッセージ一覧 */
private static List expectedLogMessages
= Collections.synchronizedList(new ArrayList());
/**
* 期待するログメッセージを設定する。
*
* @param expected 期待するログメッセージ
*/
@Published
public static void setExpectedLogMessages(List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy