下面是一份用于打印warn及其以上级别的日志至到文件和控制台上的配置: #Rank: ERROR,WARN,INFO,DEBUG log4j.rootLogger=WARN,CONSOLE,R log4j.logger.org.apache.catalina=INFO,R,CONSOLE # CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%-d{MM-dd HH:mm:ss} [%c]-[%p] %m%n # R: will generate a new file when the size reach to the MaxFileSize log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%-d{MM-dd HH:mm:ss} [%c]-[%p] %m%n log4j.appender.R.File=${catalina.home}/logs/KongGang.log log4j.appender.R.MaxFileSize=1000KB log4j.appender.R.MaxBackupIndex=1 #org.apache.log4j.FileAppender # DR: everyday generate a log file log4j.appender.DR=org.apache.log4j.DailyRollingFileAppender log4j.appender.DR.layout=org.apache.log4j.PatternLayout log4j.appender.DR.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%p]-[%c] %m%n #log4j.appender.DR.File=logs/ycwb_manage.log log4j.appender.DR.DatePattern='.'yyyyMMdd-HH 代码中使用log4j时,一般在超类的log变量声明中可以这么写: log = LogFactory.getLog(this.getClass()); 使用log变量时,要打印出错误堆栈信息须使用这样的形式: 1. log.error("系统错误", ex); // ex是被catch了的异常