`
zhaoshg
  • 浏览: 259330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j 配置详解

阅读更多

log4j.properties 使用

 


一.参数意义说明


输出级别的种类 
ERROR、WARN、INFO、DEBUG 
ERROR 为严重错误 主要是程序的错误 
WARN 为一般警告,比如session丢失 
INFO 为一般要显示的信息,比如登录登出 
DEBUG 为程序的调试信息


配置日志信息输出目的地 
log4j.appender.appenderName = fully.qualified.name.of.appender.class 
1.org.apache.log4j.ConsoleAppender(控制台) 
2.org.apache.log4j.FileAppender(文件) 
3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) 
4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) 
5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


配置日志信息的格式 
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class 
1.org.apache.log4j.HTMLLayout(以HTML表格形式布局), 
2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式), 
3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), 
4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


控制台选项 
Threshold=DEBUG:指定日志消息的输出最低层次。 
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 
Target=System.err:默认情况下是:System.out,指定输出控制台 
FileAppender 选项 
Threshold=DEBUF:指定日志消息的输出最低层次。 
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 
File=mylog.txt:指定消息输出到mylog.txt文件。 
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 
RollingFileAppender 选项 
Threshold=DEBUG:指定日志消息的输出最低层次。 
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 
File=mylog.txt:指定消息输出到mylog.txt文件。 
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。

MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

 

日志信息格式中几个符号所代表的含义: 
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n


-X号: X信息输出时左对齐; 
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, 
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 
%r: 输出自应用启动到输出该log信息耗费的毫秒数 
%c: 输出日志信息所属的类目,通常就是所在类的全名 
%t: 输出产生该日志事件的线程名 
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10) 
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 
%%: 输出一个"%"字符 
%F: 输出日志消息产生时所在的文件名称 
%L: 输出代码中的行号 
%m: 输出代码中指定的消息,产生的日志具体信息 
%n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行 
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: 
1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。 
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。

 


二.文件配置

 

示例1

log4j.rootLogger=DEBUG,A1,R 
#log4j.rootLogger=INFO,A1,R 
# ConsoleAppender 输出 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n 
# File 输出 一天一个文件,输出路径可以定制,一般在根路径下 
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.R.File=blog_log.txt 
log4j.appender.R.MaxFileSize=500KB 
log4j.appender.R.MaxBackupIndex=10 
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

 

示例2

下面给出的Log4J配置文件实现了输出到控制台,文件,回滚文件,发送日志邮件,输出到数据库日志表,自定义标签等全套功能。

 log4j.rootLogger=DEBUG,CONSOLE,A1,im 
#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE 
log4j.addivity.org.apache=true 
################### 
# Console Appender 
################### 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
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 
##################### 
# File Appender 
##################### 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# Use this layout for LogFactor 5 analysis 
######################## 
# Rolling File 
######################## 
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log 
log4j.appender.ROLLING_FILE.Append=true 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1 
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
#################### 
# Socket Appender 
#################### 
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender 
log4j.appender.SOCKET.RemoteHost=localhost 
log4j.appender.SOCKET.Port=5001 
log4j.appender.SOCKET.LocationInfo=true 
# Set up for Log Facter 5 
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout 
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
######################## 
# Log Factor 5 Appender 
######################## 
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender 
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 
######################## 
# SMTP Appender 
####################### 
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold=FATAL 
log4j.appender.MAIL.BufferSize=10 
log4j.appender.MAIL.From=chenyl@yeqiangwei.com 
log4j.appender.MAIL.SMTPHost=mail.hollycrm.com 
log4j.appender.MAIL.Subject=Log4J Message 
log4j.appender.MAIL.To=chenyl@yeqiangwei.com 
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
######################## 
# JDBC Appender 
####################### 
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user=root 
log4j.appender.DATABASE.password= 
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File=SampleMessages.log4j 
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' 
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout 
################### 
#自定义Appender 
################### 
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender 
log4j.appender.im.host = mail.cybercorlin.net 
log4j.appender.im.username = username 
log4j.appender.im.password = password 
log4j.appender.im.recipient = corlin@yeqiangwei.com 
log4j.appender.im.layout=org.apache.log4j.PatternLayout 
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

 

 

三.高级使用 

 

 

实验目的: 
1.把FATAL级错误写入2000NT日志 
2. WARN,ERROR,FATAL级错误发送email通知管理员 
3.其他级别的错误直接在后台输出  

 


实验步骤:


输出到2000NT日志

1.把Log4j压缩包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目录下 
2.写配置文件log4j.properties

# 在2000系统日志输出

log4j.logger.NTlog=FATAL, A8

# APPENDER A8

log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender

log4j.appender.A8.Source=JavaTest

log4j.appender.A8.layout=org.apache.log4j.PatternLayout log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  

 

3.调用代码:

Java代码 <embed type="application/x-shockwave-flash" width="14" height="15" src="http://spaceflysky-163-com.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" quality="high" flashvars="clipboard=Logger%20logger2%20%3D%20Logger.getLogger(%22NTlog%22)%3B%20%2F%2F%E8%A6%81%E5%92%8C%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%90%8D%E5%AD%97%E7%9B%B8%E5%90%8C%20%0Alogger2.debug(%22debug!!!%22)%3B%20%0Alogger2.info(%22info!!!%22)%3B%20%0Alogger2.warn(%22warn!!!%22)%3B%20%0Alogger2.error(%22error!!!%22)%3B%20%0A%2F%2F%E5%8F%AA%E6%9C%89%E8%BF%99%E4%B8%AA%E9%94%99%E8%AF%AF%E6%89%8D%E4%BC%9A%E5%86%99%E5%85%A52000%E6%97%A5%E5%BF%97%20%0Alogger2.fatal(%22fatal!!!%22)%3B%20"></embed>
  1. Logger logger2 = Logger.getLogger("NTlog"); //要和配置文件中设置的名字相同   
  2. logger2.debug("debug!!!");   
  3. logger2.info("info!!!");   
  4. logger2.warn("warn!!!");   
  5. logger2.error("error!!!");   
  6. //只有这个错误才会写入2000日志   
  7. logger2.fatal("fatal!!!");   

 
发送email通知管理员: 
1. 首先下载JavaMail和JAF, 
http://java.sun.com/j2ee/ja/javamail/index.html 
http://java.sun.com/beans/glasgow/jaf.html 
在项目中引用mail.jar和activation.jar。 
2. 写配置文件

# 将日志发送到email log4j.logger.MailLog=WARN,A5 # APPENDER A5 log4j.appender.A5=org.apache.log4j.net.SMTPAppender

log4j.appender.A5.BufferSize=5

log4j.appender.A5.To=chunjie@yeqiangwei.com

log4j.appender.A5.From=error@yeqiangwei.com

log4j.appender.A5.Subject=ErrorLog

log4j.appender.A5.SMTPHost=smtp.263.net

log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  

 

3.调用代码:

Java代码 <embed type="application/x-shockwave-flash" width="14" height="15" src="http://spaceflysky-163-com.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" quality="high" flashvars="clipboard=%2F%2F%E6%8A%8A%E6%97%A5%E5%BF%97%E5%8F%91%E9%80%81%E5%88%B0mail%20%0ALogger%20logger3%20%3D%20Logger.getLogger(%22MailLog%22)%3B%20%0Alogger3.warn(%22warn!!!%22)%3B%20%0Alogger3.error(%22error!!!%22)%3B%20%0Alogger3.fatal(%22fatal!!!%22)%3B%20"></embed>
  1. //把日志发送到mail   
  2. Logger logger3 = Logger.getLogger("MailLog");   
  3. logger3.warn("warn!!!");   
  4. logger3.error("error!!!");   
  5. logger3.fatal("fatal!!!");   

 


在后台输出所有类别的错误: 
1. 写配置文件

# 在后台输出

log4j.logger.console=DEBUG, A1

# APPENDER A1

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

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

log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  

 
2.调用代码

Java代码 <embed type="application/x-shockwave-flash" width="14" height="15" src="http://spaceflysky-163-com.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" quality="high" flashvars="clipboard=%2F%2F%E6%8A%8A%E6%97%A5%E5%BF%97%E5%8F%91%E9%80%81%E5%88%B0mail%20%0ALogger%20logger3%20%3D%20Logger.getLogger(%22MailLog%22)%3B%20%0Alogger3.warn(%22warn!!!%22)%3B%20%0Alogger3.error(%22error!!!%22)%3B%20%0Alogger3.fatal(%22fatal!!!%22)%3B%20"></embed>
  1. //把日志发送到mail   
  2. Logger logger3 = Logger.getLogger("MailLog");   
  3. logger3.warn("warn!!!");   
  4. logger3.error("error!!!");   
  5. logger3.fatal("fatal!!!");   

 
-------------------------------------------------------------------- 
实验所用的配置文件:log4j.properties 

# 在后台输出 
log4j.logger.console=DEBUG, A1 
# APPENDER A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n 
# 在2000系统日志输出 
log4j.logger.NTlog=FATAL, A8 
# APPENDER A8 
log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender 
log4j.appender.A8.Source=JavaTest 
log4j.appender.A8.layout=org.apache.log4j.PatternLayout 
log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n 
# 将日志发送到email 
log4j.logger.MailLog=WARN,A5 
# APPENDER A5 
log4j.appender.A5=org.apache.log4j.net.SMTPAppender 
log4j.appender.A5.BufferSize=5 
log4j.appender.A5.To=chunjie@yeqiangwei.com 
log4j.appender.A5.From=error@yeqiangwei.com 
log4j.appender.A5.Subject=ErrorLog 
log4j.appender.A5.SMTPHost=smtp.263.net 
log4j.appender.A5.layout=org.apache.log4j.PatternLayout 
log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n

实验所用的类:Log4jTest.java

Java代码 <embed type="application/x-shockwave-flash" width="14" height="15" src="http://spaceflysky-163-com.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" quality="high" flashvars="clipboard=%2F*%20%0A*%20%E5%88%9B%E5%BB%BA%E6%97%A5%E6%9C%9F%202003-11-13%20%0A*%2F%20%0Apackage%20edu.bcu.Bean%3B%20%0Aimport%20org.apache.log4j.*%3B%20%0A%2F%2Fimport%20org.apache.log4j.nt.*%3B%20%0A%2F%2Fimport%20org.apache.log4j.net.*%3B%20%0A%2F**%20%0A*%20%40author%20yanxu%20%0A*%2F%20%0Apublic%20class%20Log4jTest%20%0A%7B%20%0Apublic%20static%20void%20main(String%20args%5B%5D)%20%0A%7B%20%0A%20%20%20PropertyConfigurator.configure(%22log4j.properties%22)%3B%20%0A%20%20%20%2F%2F%E5%9C%A8%E5%90%8E%E5%8F%B0%E8%BE%93%E5%87%BA%20%0A%20%20%20Logger%20logger1%20%3D%20Logger.getLogger(%22console%22)%3B%20%0A%20%20%20logger1.debug(%22debug!!!%22)%3B%20%0A%20%20%20logger1.info(%22info!!!%22)%3B%20%0A%20%20%20logger1.warn(%22warn!!!%22)%3B%20%0A%20%20%20logger1.error(%22error!!!%22)%3B%20%0A%20%20%20logger1.fatal(%22fatal!!!%22)%3B%20%0A%2F%2F%E5%9C%A8NT%E7%B3%BB%E7%BB%9F%E6%97%A5%E5%BF%97%E8%BE%93%E5%87%BA%20%0A%20%20%20Logger%20logger2%20%3D%20Logger.getLogger(%22NTlog%22)%3B%20%0A%20%20%20%2F%2FNTEventLogAppender%20nla%20%3D%20new%20NTEventLogAppender()%3B%20%0A%20%20%20logger2.debug(%22debug!!!%22)%3B%20%0A%20%20%20logger2.info(%22info!!!%22)%3B%20%0A%20%20%20logger2.warn(%22warn!!!%22)%3B%20%0A%20%20%20logger2.error(%22error!!!%22)%3B%20%0A%20%20%20%2F%2F%E5%8F%AA%E6%9C%89%E8%BF%99%E4%B8%AA%E9%94%99%E8%AF%AF%E6%89%8D%E4%BC%9A%E5%86%99%E5%85%A52000%E6%97%A5%E5%BF%97%20%0A%20%20%20logger2.fatal(%22fatal!!!%22)%3B%20%0A%2F%2F%E6%8A%8A%E6%97%A5%E5%BF%97%E5%8F%91%E9%80%81%E5%88%B0mail%20%0A%20%20%20Logger%20logger3%20%3D%20Logger.getLogger(%22MailLog%22)%3B%20%0A%20%20%20%2F%2FSMTPAppender%20sa%20%3D%20new%20SMTPAppender()%3B%20%0A%20%20%20logger3.warn(%22warn!!!%22)%3B%20%0A%20%20%20logger3.error(%22error!!!%22)%3B%20%0A%20%20%20logger3.fatal(%22fatal!!!%22)%3B%20%0A%7D%20%0A%7D%20"></embed>
  1. /*  
  2. * 创建日期 2003-11-13  
  3. */   
  4. package edu.bcu.Bean;   
  5. import org.apache.log4j.*;   
  6. //import org.apache.log4j.nt.*;   
  7. //import org.apache.log4j.net.*;   
  8. /**  
  9. * @author yanxu  
  10. */   
  11. public class Log4jTest   
  12. {   
  13. public static void main(String args[])   
  14. {   
  15.    PropertyConfigurator.configure("log4j.properties");   
  16.    //在后台输出   
  17.    Logger logger1 = Logger.getLogger("console");   
  18.    logger1.debug("debug!!!");   
  19.    logger1.info("info!!!");   
  20.    logger1.warn("warn!!!");   
  21.    logger1.error("error!!!");   
  22.    logger1.fatal("fatal!!!");   
  23. //在NT系统日志输出   
  24.    Logger logger2 = Logger.getLogger("NTlog");   
  25.    //NTEventLogAppender nla = new NTEventLogAppender();   
  26.    logger2.debug("debug!!!");   
  27.    logger2.info("info!!!");   
  28.    logger2.warn("warn!!!");   
  29.    logger2.error("error!!!");   
  30.    //只有这个错误才会写入2000日志   
  31.    logger2.fatal("fatal!!!");   
  32. //把日志发送到mail   
  33.    Logger logger3 = Logger.getLogger("MailLog");   
  34.    //SMTPAppender sa = new SMTPAppender();   
  35.    logger3.warn("warn!!!");   
  36.    logger3.error("error!!!");   
  37.    logger3.fatal("fatal!!!");   
  38. }   
  39. }   

 

附:Log4j比较全面的配置
LOG4J的配置之简单使它遍及于越来越多的应用中了:Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了, 

log4j.rootLogger=DEBUG,CONSOLE,A1,im 
log4j.addivity.org.apache=true 
# 应用于控制台 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
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.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# Use this layout for LogFactor 5 analysis 
# 应用于文件回滚 
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log //文件位置,也可以用变量${java.home}、rolling.log
log4j.appender.ROLLING_FILE.Append=true //true:添加 false:覆盖
log4j.appender.ROLLING_FILE.MaxFileSize=10KB //文件最大尺寸
log4j.appender.ROLLING_FILE.MaxBackupIndex=1 //备份数
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

#应用于socket 
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender 
log4j.appender.SOCKET.RemoteHost=localhost 
log4j.appender.SOCKET.Port=5001 
log4j.appender.SOCKET.LocationInfo=true 
# Set up for Log Facter 5 
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout 
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

# Log Factor 5 Appender 
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender 
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 
# 发送日志给邮件 
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold=FATAL 
log4j.appender.MAIL.BufferSize=10 
log4j.appender.MAIL.From=xxx@xxx.com
log4j.appender.MAIL.SMTPHost=www.wusetu.com 
log4j.appender.MAIL.Subject=Log4J Message 
log4j.appender.MAIL.To=xxx@xxx.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# 用于数据库 
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user=root 
log4j.appender.DATABASE.password= 
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File=SampleMessages.log4j 
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' 
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout 
#自定义Appender 
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender 
log4j.appender.im.host = mail.cybercorlin.net 
log4j.appender.im.username = username 
log4j.appender.im.password = password 
log4j.appender.im.recipient = xxx@xxx.com
log4j.appender.im.layout=org.apache.log4j.PatternLayout 
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
 

 

 

分享到:
评论

相关推荐

    log4j配置详解

    《Log4j配置详解》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位问题,以及进行性能分析。Log4j作为一款强大的日志框架,因其灵活性和可配置性而备受青睐。本文将深入探讨Log4j...

    Log4j配置详解.pdf

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现灵活的日志管理。它允许开发者通过简单的配置文件来控制日志的输出等级、输出目的地以及日志信息的格式化方式。Log4j支持多种配置...

    log4j 配置详解

    log4j 配置详解

    Log4j配置详解

    ### Log4j配置详解 #### 一、Log4j组件概览 Log4j是一款流行的开源日志框架,由Apache软件基金会开发,广泛应用于Java应用的开发中,用于记录程序运行时的信息。其核心功能围绕着三个关键组件展开:**记录器...

    log4j配置详解 新手入门教程

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用以实现日志功能。它通过简单的API提供强大的日志记录功能,并且允许用户自定义配置来控制日志的输出级别、输出格式、输出目的地等。Log4j在...

    log4j配置详解.

    ### Log4j配置详解 #### 一、Log4j配置文件概述 Log4j是一款流行的Java日志框架,被广泛应用于各种规模的应用程序中。它的配置文件(Configuration File)主要用于设置记录器(Logger)的级别、存放器(Appender)...

    log4j配置详解与使用方法说明

    ### 二、Log4j配置 Log4j 的配置主要通过 `log4j.properties` 或 `log4j.xml` 文件完成,这里我们以 `log4j.properties` 文件为例进行说明。 1. **配置Appender** - **Console Appender**:将日志输出到控制台。 ...

    Log4J配置详解

    详细讲解Log4j的配置问题,包括XML文件配置方法和利用配置文件配置方法。

    log4j配置详解(带demo和jar包)

    Log4j配置文件——`log4j.properties` `log4j.properties`是Log4j的配置文件,其中定义了日志的行为。以下是一些关键配置项: - **`log4j.rootLogger`**: 指定日志记录器的默认级别及其使用的Appender。 - **`log...

    log4j配置详解总结资料

    `LOG4J配置全接触.htm`和`log4j属性含义.htm`则可能深入解释了Log4j配置文件中各种属性的含义和用法,帮助读者全面理解和掌握Log4j的配置。 总的来说,这些资料旨在帮助开发者更有效地利用Log4j进行日志管理,提高...

    log4j配置说明

    **日志框架Log4j详解** 日志框架在软件开发中扮演着至关重要的角色,它提供了记录应用程序运行过程中的各种信息的功能,便于调试、监控和问题排查。Log4j是Apache组织开发的一个开源日志组件,广泛应用于Java项目中...

    常用log4j的配置详解

    ### 常用log4j配置详解 #### log4j简介 Log4j是一个开源的日志框架,由Apache Software Foundation开发。它允许开发者通过简单的配置文件来定义日志的输出等级、输出目的地以及日志信息的格式等。这极大地提高了...

    log4j详解配置说明

    ### Log4j 配置详解 #### 一、概述 Log4j 是一款非常流行的 Java 日志框架,它提供了一种灵活的日志记录机制。在实际应用中,开发者可以通过简单的配置来实现对日志级别的控制、日志信息的格式化以及日志文件的...

    log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件...

    java程序log4j配置

    Java程序log4j配置详解 log4j是一个流行的Java日志记录工具,提供了灵活的日志记录和管理功能。在Java程序中,log4j配置正确是非常重要的,本文将详细介绍log4j配置的各个方面。 一、log4j配置文件 log4j的配置...

    log4j-1.2.17的jar包以及依赖包,还有一份log4j的配置文件,输出到控制台和文件夹两种配置

    **三、Log4j配置详解** 1. **日志级别**: 包括DEBUG、INFO、WARN、ERROR和FATAL。开发者可以通过设置日志级别来过滤输出信息,例如,只显示错误和警告,或者包括所有级别的信息。 2. **Appenders**: Appender是Log...

    log4j配置使用,描述了log4j的配置实用

    ### log4j配置详解 #### 一、log4j简介 Log4j 是一个开源的日志记录工具,它允许开发者自定义日志级别并能够输出丰富的日志信息。本篇文章将详细解读 log4j 的基本配置及使用方法,非常适合初学者理解和掌握。 ##...

Global site tag (gtag.js) - Google Analytics