log4j+commons-loggingの使い方

log4j.propertiesファイルの作成

  • tomcatの場合はclassesの直下に配置。
  • eclipseを使って開発をしている場合はsrcの直下に置く。
  • ちなみに以下の例ではAppenderにstdoutとSMTPを指定している。
  • 複数のメールアドレスを指定する場合はカンマ区切りにする。
  • com.example.hogehogeパッケージについてはログレベルをDEBUGにしている
log4j.rootCategory=INFO, stdout, mail

#console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{HH:mm:ss}(%c{1}:%M) %m %n

log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.Threshold=FATAL
log4j.appender.mail.To=manager@example.com,hogehoge@example.com,foo@example.com
log4j.appender.mail.From=hogehoge@example.com
log4j.appender.mail.Subject=BODY
log4j.appender.mail.SMTPHost=192.168.100.100
log4j.appender.mail.layout=org.apache.log4j.PatternLayout

#logレベルを変更
log4j.category.com.example.hogehoge=DEBUG

commons-logging.propertiesの作成

  • log4j.propertiesと同じように配置
    org.apache.commons.logging.log=org.apache.commons.logging.impl.Log4JLogger

javaファイルに埋め込む

  • log4jはスレッドセーフなのでstaticで使用しても大丈夫。
  • debug()/info()/warn()/fatal()メソッドが存在する
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    public class Hogehoge extends Action {
        private static Log log = LogFactory.getLog(this.getClass().getName());
        
        public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse responce){
            log.info("IN");
            .....
            .....
            log.info("OUT");
            return mapping.findForward("success");
        }
    }

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-05-11 (火) 18:09:00 (5688d)