log4j學習

不錯的教程:http://kdboy.iteye.com/blog/208851


下面是我的測試文件:

import org.apache.log4j.HTMLLayout;
import org.apache.log4j.Logger;

public class Jtest extends HTMLLayout {

	public static Logger log = Logger.getLogger(Jtest.class);

	public static void main(String[] args) {
		try {
			throw new RuntimeException("wrong");
		} catch (Exception e) {

			String info = "hello>>";
			for (int i = 0; i < 20000; i++) {
				try {
					Thread.sleep(500);
				} catch (InterruptedException e1) {
					e1.printStackTrace();
				}
				log.error(i + "sunyard>>>" + e.getMessage() + info);

			}
		}
	}

}


操作數據庫(記着加驅動包):

log4j.rootLogger=ERROR,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appnder.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
log4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.appender2.driver=com.mysql.jdbc.Driver
log4j.appender.appender2.URL=jdbc:mysql://localhost:3306/log4j?useUnicode=true&characterEncoding=UTF-8
log4j.appender.appender2.user=root
log4j.appender.appender2.password=root
log4j.appender.appender2.sql=insert into logtable (cdate, message) VALUES ('%d{yyyy-MM-dd hh:mm:ss}', '%c %p %m %n')
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout

發送郵件:

log4j.rootLogger=DEBUG,CONSOLE,MAIL
log4j.addivity.org.apache=true  
# 應用於控制檯  
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  

log4j.appender.CONSOLE.Target=System.out  
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread] n%c[CATEGORY]%n%m[MESSAGE]%n%n  
  
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.syslog.encoding=UTF-8
# 日誌的錯誤級別
log4j.appender.MAIL.Threshold=ERROR
# 緩存文件大小,日誌達到512K時發送Email
log4j.appender.MAIL.BufferSize=512
# 發送郵件的服務器
log4j.appender.MAIL.SMTPHost=smtp.163.com
log4j.appender.MAIL.encoding=UTF-8 
# 郵件的標題
log4j.appender.MAIL.Subject=mail subject
# 用戶名
[email protected]
# 密碼
log4j.appender.MAIL.SMTPPassword=*******
log4j.appender.MAIL.SMTPDebug=TRUE
# 發件人地址
[email protected]
# 日誌郵件的接收者[email protected]
[email protected], [email protected]
# 日誌PatternLayout
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
# 日誌的格式
log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n %d - %c -%-4r [%t] %-5p %c %x - %m%n  

不過, 郵件會出現中文亂碼, 還未解決!

注意, 最好在要接受的用戶服務器上設置163.com爲白名單, 否則可能會被認爲是垃圾郵件被屏蔽。




log4j.rootLogger=info, R
# 根據日誌文件大小自動產生新日誌文件,最多產生100個備份文件, 
log4j.appender.R=org.apache.log4j.RollingFileAppender  
log4j.appender.R.File=backup.log
log4j.appender.R.MaxFileSize=512KB
log4j.appender.R.MaxBackupIndex=100
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n  


#按照一定時間產生日誌文件,配置文件如下:
log4j.rootLogger=ERROR,R
  
# R is set to be a DailyRollingFileAppender.
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
  
log4j.appender.R.File=backup.log
#每分鐘產生一個日誌文件
log4j.appender.R.DatePattern = '.'yyyy-MM-dd-HH-mm
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
    
#以上配置是每天產生一個備份文件。其中備份文件的名字叫backup.log
#具體的效果是這樣:當天的日誌信息記錄在backup.log文件中
#前一天的記錄在名稱爲backup.log.yyyy-mm-dd 的文件中。
#類似的,如果需要每月產生一個文件可以修改上面的配置:
#將log4j.appender.R.DatePattern = '.'yyyy-MM-dd改爲
#log4j.appender.R.DatePattern = '.'yyyy-MM
#每分鐘產生一個日誌文件log4j.appender.R.DatePattern = '.'yyyy-MM-dd-HH-mm




#以網頁的形式每分鐘產生一個日誌文件
log4j.rootLogger=ERROR,R
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=backup.html
log4j.appender.R.DatePattern = '.'yyyy-MM-dd-HH-mm
log4j.appender.R.layout=org.apache.log4j.HTMLLayout


發佈了51 篇原創文章 · 獲贊 6 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章