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
# 用户名
log4j.appender.MAIL.SMTPUsername=m15711121933@163.com
# 密码
log4j.appender.MAIL.SMTPPassword=*******
log4j.appender.MAIL.SMTPDebug=TRUE
# 发件人地址
log4j.appender.MAIL.From=m15711121933@163.com
# 日志邮件的接收者531453134@qq.com
log4j.appender.MAIL.To=dengw.li@sunyard.com, 531453134@qq.com
# 日志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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值