理论:
例子:
######################################################################## # # # 日志管理配置文件 # # # ########################################################################
#设置Logger log4j.rootLogger=DEBUG, A1#根Logger,A1根Logger的日志输出格式 log4j.logger.system=DEBUG, systemApp#根Logger的子类 log4j.logger.business=DEBUG, businessApp log4j.logger.error=DEBUG, errorApp #设置 console ,调试用
log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#设置systemApp, 记录系统日志信息 log4j.appender.systemApp=org.apache.log4j.RollingFileAppender log4j.appender.systemApp.File=system.log log4j.appender.systemApp.MaxFileSize=5120KB log4j.appender.systemApp.MaxBackupIndex=100 log4j.appender.systemApp.layout=org.apache.log4j.PatternLayout log4j.appender.systemApp.layout.ConversionPattern= %d [%c:%L] [%t] - %m%n
#设置businessApp, 记录业务日信息
log4j.appender.businessApp=org.apache.log4j.RollingFileAppender log4j.appender.businessApp.File=businessApp.log log4j.appender.businessApp.MaxFileSize=5120KB log4j.appender.businessApp.MaxBackupIndex=100 log4j.appender.businessApp.layout=org.apache.log4j.PatternLayout log4j.appender.businessApp.layout.ConversionPattern=%d - %m%n
#设置errorApp, 记录业务日信息
log4j.appender.errorApp=org.apache.log4j.RollingFileAppender log4j.appender.errorApp.File=error.log log4j.appender.errorApp.MaxFileSize=5120KB log4j.appender.errorApp.MaxBackupIndex=100 log4j.appender.errorApp.layout=org.apache.log4j.PatternLayout log4j.appender.errorApp.layout.ConversionPattern=%d - %m%n
/** * */ package cn.com.sparknet.check.log;
import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator;
/** *功能说明: *2008-5-29 下午02:27:33 * @author 巩明 * */ public class LogWritter { private static Logger systemLogger = null;//不太清楚为什么要分成这两种情况 private static Logger bussinessLogger = null; private static String confFileName; /** * */ public LogWritter() { // TODO 自动生成构造函数存根 } public static void sysDebug(String message){ systemLogger.debug(message); } public static void sysInfo(String message){ systemLogger.info(message); } // public static void sysWarn public static void sysError(String message){ systemLogger.error(message); } public static void bizDebug(String message){ bussinessLogger.debug(message); } // public static void static {//静态块,类第一次被加载时,会被立即执行 confFileName = "logWriter.properties"; FileURL fileUrl = new FileURL(); PropertyConfigurator.configure(fileUrl.getUrl(confFileName)); systemLogger = Logger.getLogger("system");//name为配置文件中指定的名字或不是 //说明:此处的name可以任意取, //1:如果在配置文件中有system(log4j.logger.system=DEBUG, systemApp)这里的system为rootLogger的子类,则日志在输出时 //按照systemApp指定的格式输出, //2:如果找不到指定的name,则生成一个rootLogger对象,若配置了log4j.rootLogger=DEBUG, A1,则按A1指定的格式输出,若没有配置则 //按照默认格式输出 //2、加载配置文件和创建Logger没有先后顺序要求,但必须在调用Logger方法前加载配置文件 bussinessLogger = Logger.getLogger("business"); }
/** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根
}
}