1.log4j的文件配置:
log4j.rootLogger = debug,stdout,I,E #### 控制台打印 stdout:標准輸出### #log4j.appender.stdout = org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target = System.out #log4j.appender.stdout.layout = org.apache.log4j.PatternLayout #log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n #### 輸出到文件file info ### log4j.logger.info=I #log4j.appender.I = org.apache.log4j.DailyRollingFileAppender log4j.appender.I =com.shopping.test.LogAppender log4j.appender.I.append = true log4j.appender.I.Threshold = INFO log4j.appender.I.datePattern = '.'yyyy-MM-dd'.log' log4j.appender.I.MaxFileSize=100000KB log4j.appender.I.layout = org.apache.log4j.PatternLayout log4j.appender.I.File = ${catalina.home}/logs_dk/info.log log4j.appender.I.layout.ConversionPattern = [%-5p]_%d{yyyy-MM-dd HH:mm:ss} %c - %m%n log4j.appender.I.encoding=UTF-8 ### 記錄error 級別的日志### log4j.logger.error=E log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.datePattern = '.'yyyy-MM-dd'.log' log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout #log4j.appender.E.File =/home/logs/error.log #log4j.appender.E.File =F:\\logs\\dk\\error.log log4j.appender.E.File = ${catalina.home}/logs_dk/error.log log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
2. 重寫一個方法類制定自己的輸出
package com.shopping.test; import org.apache.log4j.DailyRollingFileAppender; import org.apache.log4j.Priority; public class LogAppender extends DailyRollingFileAppender { @Override public boolean isAsSevereAsThreshold(Priority priority) { // 只判斷是否相等,不判斷優先級 return this.getThreshold().equals(priority); } }
我重寫這個方法是在info 文件輸出時候,過濾輸出非Info級別的日志
3.在項目中:
private static Logger logger = Logger.getLogger(FcodeViewAction.class); //logger.info("今日管理"); //logger.error("今日管理出錯");
這樣就可以在自己定義的輸出位置找要輸出的日志文件了