AspectCookBookのRecipesより

どうというほどのものでもないのですが...
PrintlnSwitchRecipe

public Aspect PrintlnSwitchAspect {
    pointcut printCalls() : call(void java.io.PrintStream.println(String));
    void around() : printCalls() {
        if (debugFlag) {
            proceed();
        }
    }
    private boolean debugFlag = (new Boolean(System.getProperty(debugFlag), true)).booleanValue();
}

とある商用のライブラリ(Jarで提供されている)を使用しているのですが,そいつが標準エラーにデバッグ情報らしきものを大量に出しまくるんですよね.それで 2>/dev/null しちゃうんですが,このアスペクトcflowでも加えれば,そのライブラリが出すメッセージだけを抑止することもできるなぁ,なんて思いました.
決して,我々が開発した既存のコードに山ほどのSystem.out.println()が埋まっていて,あまりにも大量なので放置しているから気になったわけではありません! 絶対にそんなことはありません!