Jakarta Commons Logging(JCL)の応用編­­——ログ出力をログ4 j/JDK 5 logと実現——ログ出力をログ4 j/JDK 5 logと実現


要旨:log 4 j/jdk 5 logとapache汎用logパッケージcommmons-loggingを用いてログ出力を実現する方法を簡単に説明した.
 
commons-logging.propertiesファイル構成情報#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog# Must be one of ("trace", "debug", "info", "warn", "error", or "fatal").#log 4 jを出力媒体orgとする.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
 
#JDK5 Logger#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
 
 
#log4j.propertiesファイル構成情報、log 4 j.propertiesはclasspathに入れたほうがいい.例えば、web-inf/classesディレクトリまたはその他のclasspathディレクトリ.log4j.rootLogger=ERROR,stdout,LF5,,filelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[start]%d{yyyy/MM/dd/HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=sdcrm.loglog4j.appender.file.MaxFileSize=100KBlog4j.appender.file.MaxBackupIndex=5log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=[start]%d{yyyy/MM/dd/HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
log4j.appender.LF5=org.apache.log4j.lf5.LF5Appenderlog4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
 
 
log.JAvaインタフェースメソッドprivate static Log=LogFactory.getLog(this.getClass().getName());public static void debug(String className, String debugStr) {Log log = LogFactory.getLog(className);if (log.isDebugEnabled()) {log.debug(debugStr);}}
 
 
public static void info(String className, String infoStr) {Log log = LogFactory.getLog(className);if (log.isInfoEnabled()) {log.info(infoStr);}}
 
public static void warn(String className, String warnStr) {
Log log = LogFactory.getLog(className);
if (log.isWarnEnabled()) {
log.warn(warnStr);
}
}

   
public static void error(String className, String infoStr) {
Log log = LogFactory.getLog(className);
if (log.isErrorEnabled()) {
log.error(infoStr);
}
}

 
 
public static void fatal(String className, String infoStr) {
Log log = LogFactory.getLog(className);
if (log.isFatalEnabled()) {
log.fatal(infoStr);
}
}

呼び出し送信:LogMgn.error(this.getClass().getName()、「エラーメッセージ」);