编程之道

无论是批评的,赞扬的,指着的都请EMAIL给我,你的建议将是我前进的动力! 联系我

Log4j自己配

Log4j 主要由三大部分:

1       公共类 Logger : 负责处理日志记录的大部分操作。  

2       公共接口 Appender : 负责控制日志记录的输出部分。它提供了多种输出目标。

2.1.1  FileAppender        输出到文本

2.1.2  ConsoleAppender     输出到控制台

2.1.3      SMTPAppender        输出到邮件

2.1.4  JDBCAppender       输出到数据库

3       布局 Layout : 负责格式化 Appender 输出。有三种布局模式:

3.1      SimpleLayout : 简单格式 DEBUG - Here is some DEBUG 的日志输出。

3.2      HTMLLayout : HTML 表格输出。

3.3      PatternLayout : 自定义格式化的日志输出。打印参数如下:

3.3.1  %m 输出代码中指定的消息

3.3.2  %p 输出优先级,即 DEBUG INFO WARN ERROR FATAL

3.3.3  %r 输出自应用启动到输出该 log 信息耗费的毫秒数

3.3.4  %c 输出所属的类目,通常就是所在类的全名

3.3.5  %t 输出产生该日志事件的线程名

3.3.6  %n 输出一个回车换行符, Windows 平台为“ \r\n” Unix 平台为“ \n”

3.3.7  %d 输出日志时间点的日期或时间,默认格式为 ISO8601 ,也可以在其后指定格式,比如: %d{yyy MMM dd HH:mm:ss,SSS} ,输出类似: 2002 10 18 22 10 28 921

 

log4j.properties 的配置如下:

#### debug是输出级别,分别是debug<info<warn<error<fatal
#### R是输出到log
, cmd是输出到控制台 , htm输出到HTML
log4j.rootCategory
= debug ,  R ,  cmd ,  htm

##控制台输出
log4j.appender.cmd
= org.apache.log4j.ConsoleAppender
#布局格式
log4j.appender.cmd.layout
= org.apache.log4j.PatternLayout
log4j.appender.cmd.layout.ConversionPattern
=  %-2r  [ %t ]  %-6p %c - %m%n

##控制台输出
log4j.appender.htm
= org.apache.log4j.FileAppender
log4j.appender.htm.File
= example.html
log4j.appender.htm.layout
= org.apache.log4j.HTMLLayout

##log格式输出
#log4j.appender.R
= org.apache.log4j.FileAppender
#log4j.appender.R
= org.apache.log4j.DailyRollingFileAppender
log4j.appender.R
= org.apache.log4j.RollingFileAppender
log4j.appender.R.File
= test.log
#最大日志大小
log4j.appender.R.MaxFileSize
= 100KB   
#最大备份数
log4j.appender.R.MaxBackupIndex
= 1     
log4j.appender.R.layout
= org.apache.log4j.SimpleLayout

代码如下:

package  com.hmy.Log4JTest;

import  java.io.File;
import  org.apache.log4j.Logger;
import  org.apache.log4j.PropertyConfigurator;

public   class  Log4jTest {
    
    
static  {
        
//  自动快速地使用缺省Log4j环境。
        
//  BasicConfigurator.configure();
        
//  读取使用Java的特性文件编写的配置文件。
        
//  PropertyConfigurator.configure ("/WEB-INF/log4j.properties");
        
//  读取XML形式的配置文件。
        
//  DOMConfigurator.configure ("/WEB-INF/log4j.xml");
        String file  =   new  String( " E:/project by eclipse/test/com/hmy/Log4JTest/log4j.properties " );              
         if  (file  !=   null ) {
            PropertyConfigurator.configure(file);
        }
    }
    
    
static  Logger logger  =  Logger.getLogger(Log4jTest. class );
    
    
public   static   void  main(String[] aaa) {
          logger.debug(
" Here is some DEBUG " );
          logger.info(
" Here is some INFO " );
          logger.warn(
" Here is some WARN " );
          logger.error(
" Here is some ERROR " );
          logger.fatal(
" Here is some FATAL " );
    }
}

下面是网上找的一个配置文件,择其一二使用就够用了。

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
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
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=web@www.wuset.com
log4j.appender.MAIL.SMTPHost=www.wusetu.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=web@www.wusetu.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 = corlin@cybercorlin.net

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

 

 

posted on 2006-04-12 10:30 疯流成性 阅读(370) 评论(0)  编辑  收藏 所属分类: j2se


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问