Jakarta Commons Logging(JCL)之應用篇
——與Log4j/JDK5 log實現日誌輸出
摘要:簡單描述了利用log4j/jdk5 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").
#利用log4j為輸出介質
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檔案配置資訊,log4j.properties最好放到classpath中.
#如: web-inf/classes目錄或其他classpath目錄.
log4j.rootLogger=ERROR,stdout,LF5,,file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.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.RollingFileAppender
log4j.appender.file.File=sdcrm.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.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.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
log.java介面方法
private static Log lg = 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(),"錯誤資訊");