log4j 打印线程号配置_log4j配置详解(非常详细)

资料:

=============================================================================================

===============================================================================================

log4j.properties文件例子

1.================================================================

这个文件就是本文的重点,也就是log4j的配置文件。

# Set root logger level to DEBUG and its only appender to A1

#log4j中有五级logger

#FATAL 0

#ERROR 3

#WARN 4

#INFO 6

#DEBUG 7

#配置根Logger,其语法为:

#log4j.rootLogger = [ level ] , appenderName, appenderName, …

log4j.rootLogger=INFO, A1 ,R

#这一句设置以为着所有的log都输出

#如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL

#被输出,DEBUG,INFO将被屏蔽掉.

# A1 is set to be a ConsoleAppender.

#log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等

#ConsoleAppender输出到控制台

log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)

#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

#灵活定义输出格式 具体查看log4j javadoc org.apache.log4j.PatternLayout

#d 时间 ....

log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。

log4j.appender.R=org.apache.log4j.RollingFileAppender

#日志文件的名称

log4j.appender.R.File=log4j.log

#日志文件的大小

log4j.appender.R.MaxFileSize=100KB

# 保存一个备份文件

log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.TTCCLayout

#log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

2.==========================================================================================

下面我给出一个在weblogic下使用log4j的配置过程,首先给出这个配置文件的完整信息。

#log4j.rootLogger=INFO,A1,R //这一句指定了日志输出的级别为info,A1和R分别代表日志输出到什么地方。

log4j.category.hybl_wshabcm=debug,A1,R //这一句指定了日志具体输出哪个包的信息,以及输出位置

log4j.appender.A1=org.apache.log4j.ConsoleAppender //这里指定了日志输出的第一个位置A1是控制台ConsoleAppender

/*

*其中,Log4j提供的appender有以下几种:

*org.apache.log4j.ConsoleAppender(控制台),

*org.apache.log4j.FileAppender(文件),

*org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

*org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

*org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

*

*/

log4j.appender.A1.layout=org.apache.log4j.PatternLayout //指定A1的布局模式

/*

*其中,Log4j提供的layout有以下几种:

×org.apache.log4j.HTMLLayout(以HTML表格形式布局),

*org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

*org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

*org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

*/

log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n //指定日志的输出格式

log4j.appender.R=org.apache.log4j.RollingFileAppender //指定以文件的方式输出日志

log4j.appender.R.File=c:/sys.html //文件位置

log4j.appender.R.MaxFileSize=500KB //文件最大尺寸

log4j.appender.R.MaxBackupIndex=1 //备份数

log4j.appender.R.layout=org.apache.log4j.HTMLLayout //文件的格式为Html格式

#log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

---------------------------------------------------------------------------------------------------------------------------------------------------

错误日志发送email

1.  打开log4j.properties文件

2.  rootLogger加上一个Appender, 即MAIL, 如log4j.rootLogger=ERROR,A1,MAIL

3.  配置Appender信息,在文件的末尾加上以下部分

# Configuration for receiving e-mails when ERROR messages occur.

#自定义的Appender

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender

#日志的错误级别

log4j.appender.MAIL.Threshold=ERROR

#缓存文件大小,日志达到512K时发送Email

log4j.appender.MAIL.BufferSize=512

#发件人

log4j.appender.MAIL.From=test@163.com

#发送邮件的服务器

log4j.appender.MAIL.SMTPHost=smtp.163.com

#邮件的标题

log4j.appender.MAIL.Subject=Log4J Message

#日志邮件的接收者

log4j.appender.MAIL.To=test@163.com

#日志PatternLayout

log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout

#日志的格式

log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

以上文件皆测试通过,如不通过请查看自己的email发送环境.

----------------------------------------------------------------------------------------------------------------------------------------------------

查看了SMTPAppender.java的源代码,才发现Log4J缺省提供的SMTPAppender并不支持SMTP的认证功能。难道现在匿名的SMTP邮件服务器很多吗?我手头的是Log4J的 1.2.8版本,去logging.apache.org看,发现已经有新的版本了: 1.2.11,呵呵,窃喜。这样的简单、基本的需求Log4J开发组应该已经添加上了吧。

下载、查看,再次失望之极!

看来只有自己动手添加了。本来应该重新定义一个名字,算做一个自定义Appender吧,但为了使我很多应用中的log4j.properties不用修改过多,就直接在原来的SMTPAppender.java上做了修改。另外一个更重要的原因是:

我认为:这是一个基本的、必须的SMTPAppender应该具有的功能。

主要在SMTPAppender.java中添加了如下代码:

a. 添加实例变量

private String smtpUsername;

private String smtpPassword;

b. 将 activateOptions() 方法中的

Session session = Session.getInstance(props, null);

修改为:

if(smtpPassword != null && smtpUsername != null) {

// Setup mail server authentication

props.put("mail.smtp.auth", "true");

// props.put("mail.transport.protocol", "smtp");

authenticator = new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(smtpUsername, smtpPassword);

}

};

}

// Get session

Session session = Session.getDefaultInstance(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值