一、 導入jar包spring
Commons-logging .jarapache
Log4j-1.2.17.jarapp
二、 編寫log4j.properties 文件佈局
############## ##############################測試
優先級 INFO ,輸出到console_log 和filelog 兩個位置this
log4j.rootLogger=INFO , console_log ,filelogspa
log4j.logger.org.hibernate=INFOhibernate
log4j.logger.org.hibernate.SQL=INFOdebug
log4j.logger.org.hibernate.HQL=INFO日誌
log4j.logger.org.springframework=INFO
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=WARN
log4j.logger.com.opensymphony.xwork2=ERROR
log4j.logger.org.apache.struts2=INFO
log4j.logger.noModule=FATAL
#################################################################
console_log :控制檯輸出《注意格式》
定義控制檯輸出
log4j.appender.console_log=org.apache.log4j.ConsoleAppender
佈局
log4j.appender.console_log.layout=org.apache.log4j.PatternLayout
輸出內容
log4j.appender.console_log.layout.ConversionPattern=%4p [ %t]
(%c\:%l) - %m%n
################################################################# filelog:外部文件輸出
定義外部文件輸出 文件大小到達指定尺寸的時候產生一個新的文件
log4j.appender.filelog=org.apache.log4j.RollingFileAppender
外部文件位置
log4j.appender.filelog.File=log.log
文件最大值:10MB
log4j.appender.filelog.MaxFileSize=10MB
log4j.appender.filelog.MaxBackupIndex=5
佈局模式 :靈活地指定佈局模式
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
輸出格式
log4j.appender.filelog.layout.ConversionPattern=%d{yyyy-MM-dd hh\:mm\:ss} \: %p %t %c - %m%n
三、 定義一個記錄日誌的類
例如:
package com.shop.log;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class Log4jSerice {
private final Log log = LogFactory.getLog(this.getClass());
public void PrintInfo(String str){
log.info(str);
}
public void PrintError(String str){
log.error(str);
}
public void PrintDebug(String str){
log.debug(str);
}
public void PrintFatal(String str){
log.fatal(str);
}
}
四、 調用方法
五、 方法的調用
public class log4j {
private Log4jSerice log = new Log4jSerice();
public void setLog(Log4jSerice log){
this.log = log ;
}
public static void main(String args[]){
new log4j().printLog();
}
public void printLog(){
String str = "測試";
log.PrintDebug(str);
log.PrintError(str);
log.PrintFatal(str);
log.PrintInfo(str);
}
}