2 つのクラス間のロギングのデフォルト コードから始めましょう。
実装:
クラスA:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.cc.B;
public class A {
public static Log logger = LogFactory.getLog(A.class);
public static void main(String[] args) {
logger.info("Entering application.");
B b = new B();
b.doIt();
logger.info("Exiting application.");
}
}
クラス B:
package com.cc;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class B {
public static Log log = LogFactory.getLog(B.class);
public void doIt() {
log.debug("Did it");
}
}
実行:
16 mars 2012 09:31:35 com.cc.A main
INFO: Entering application.
16 mars 2012 09:31:35 com.cc.B doIt
INFO: Did it
16 mars 2012 09:31:35 com.cc.A main
INFO: Exiting application.
B クラスでは、 に置き換えpublic static Log log = LogFactory.getLog(B.class);
てpublic static Log log = LogFactory.getLog(A.class);
もアプリケーションのログには影響しません。
クラス A ロガーにのみログインするにはどうすればよいですか?