SwingLogger for slf4j

Genkidamaに使ってたLoggerからの出力をねじ曲げてSwingに表示する部分をslf4j向けのjarにしてgithubで公開しました。

要するに、こういうコードを書くと:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.impl.LogWindow;

public class Test {
    protected static Logger log = LoggerFactory.getLogger(Test.class);
 
    public static void main(String[] args) {
        LogWindow.getInstance().show();
        log.info("Hoge");
        log.warn("huga");
        log.error("error", new Exception());
    }
}

こんなのが出せます:

そんだけ。

slf4j使ったことある人は分かるだろうけど、これを動かすにはSwingLogger.jarの他に、slf4j-api-1.5.11.jarclasspathに追加する必要がある。

slf4jのロガー切り替えはコンフィグベースじゃなくjarの特定クラスで直接やってるので、このjarを読み込めばSwingLoggerへ、他のjarにすれば他のLoggerにログが吐かれる。