import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.LoggerFactory;
public class LogbackLogLevelTestClass {
    private static Level originalLevel;
    @BeforeClass
    public static void setUpClass() {
        // ロガーを取得
        Logger logger = (Logger) LoggerFactory.getLogger("com.example"); // ロガー名を指定
        originalLevel = logger.getLevel(); // 元のレベルを保存
        // ログレベルをDEBUGに変更
        logger.setLevel(Level.DEBUG);
        System.out.println("Log level set to DEBUG for the entire test class.");
    }
    @AfterClass
    public static void tearDownClass() {
        // 元のレベルに戻す
        Logger logger = (Logger) LoggerFactory.getLogger("com.example");
        logger.setLevel(originalLevel);
        System.out.println("Log level reverted to original after the test class.");
    }
    @Test
    public void testExample1() {
        Logger logger = (Logger) LoggerFactory.getLogger("com.example");
        logger.debug("This is a debug message in testExample1.");
        logger.info("This is an info message in testExample1.");
    }
    @Test
    public void testExample2() {
        Logger logger = (Logger) LoggerFactory.getLogger("com.example");
        logger.debug("This is a debug message in testExample2.");
        logger.info("This is an info message in testExample2.");
    }
}
解説
@BeforeClass を使用:
テストクラス全体で共通のセットアップを行います。
ここで対象のロガーのログレベルを変更します。
@AfterClass を使用:
テストクラス全体の終了後に元のログレベルに戻します。
テスト間の影響を防ぐために必ずログレベルを元に戻します。
テストメソッド間のログレベル統一:
クラス全体のログレベルが統一されるため、各テストメソッドでログレベルを気にする必要がありません。