spring-boot を使って開発しています。特定のループで無限ループが発生しているようなので、何が起きているのかを把握するために、 logger で trace のログを仕込むことにしました。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Processor {
    private static final Logger logger = LoggerFactory.getLogger(Processor.class);
    private process() {
        Object current = getCurrent();
        while (current != null) {
            logger.trace("The object is: {}", current);
            doProcess(current);
            current = getNext();
        }
    }
    // 略
}

ただ、問題は trace なので、そのまま実行すると、その他もろもろの trace で埋め尽くされてしまう気がしています。 一時的に、 info などにすればいいかもしれませんが、あちこち替えていって最後に戻し忘れたりするのはちょっと嫌だと考えました。

質問:

  • spring-boot (でデフォルトで使用されている Logback) で、一時的に特定のクラスだけ trace 出力したいです。どうやったら手っ取り早くこれを実現できるでしょうか。