对日志的处理_log4j入门一

来源:互联网 发布:uipath 国内类似软件 编辑:程序博客网 时间:2024/05/18 02:38

          在实际工作中,基本上所有的项目都有对日志的处理,我介绍下log4j对日志的处理的学习过程,该应用程序,大家直接复制黏贴就可以使用。

我的测试的环境是:windowsXP、eclipse3.5.0、jdk1.6、log4j.jar

log4j.jar架包,API,学习资料可以在本人的资源中下载,欢迎下载使用

 

package com.wish.log4j;

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

public class Log4j_Test01 {

        private static Logger logger = Logger.getLogger(Log4j_Test01.class);//类的全路径,以下两种方式都可以
        // private static Logger logger = Logger.getLogger("com.wish.log4j.Log4j_Test01");//类的全路径
        // private static Logger logger = Logger.getLogger("D:/workspace 9.0/log4j_text/src/com/wish/log4j/Log4j_Test01.java");//类的全路径
 
        public static void main(String[] args)  {

                 test_01();
  
        }

        //测试打印出的信息
        public static void test_01(){
               logger.debug("com.wish.log4j.Log4j_Test01.test_01 : start");//方法执行开始
               int one = 0;
               int two = 1;
               int result = 0;
               try{
                       result = two/one;
               }catch(Exception e){
                       logger.debug("debug : debug的信息" +one);//调试信息
                       logger.info (" info  : info的信息"  +result);//信息
                       logger.warn (" warn  : warn的信息"  +result);//警告信息
                       logger.error("error : error的信息" +two);//错误信息
               }
              logger.debug("com.wish.log4j.Log4j_Test01.test_01 : end");//方法执行结束
       }

}

在java项目的src目录下面直接建立一个文件(src----》右击----》other-----》General------》File------》输入名称log4j.properties-----》点击finish):文件名称是log4j.properties

下面的红字部分是自定义的日志记录信息,大家可以不复制

#自学信息E:\查询资料\study\help document\log4j\Log4j详解1.doc

#输出信息的级别:debug(调试)>info(信息)>wapn(警告)>error(错误)>fatal(致命性错误),分号后是:类型(随便起名字最好是英文)file
#可以写多个类型和级别,类型之间用逗号隔开(分开写只识别一个类型,逗号分开写就都可以识别)
#级别每个单独写,分开写只认最后一次配置的级别(如这里的debug),写一起只用逗号分开,那么只有第一个级别有效,其他的报异常不识别
#log4j.rootLogger=info,A1
#log4j.rootLogger=error,A1
#writeFile写到c盘log包下的log.txt文件中,writeConsole打印到控制台,writespecificFile
log4j.rootLogger=debug,writeFile,writeConsole,specificFile
#3log4j.log.com.wish.one_01 = debug,one
#配置输出源对应的类,就是用log4j中哪个类来处理日志信息(3种)
#log4j.appender.A1 = org.apache.log4j.FileAppender(log信息将写到指定的文件中)
#log4j.appender.A1 = org.apache.log4j.RollingFileAppender
#log4j.appender.A1 = org.apache.log4j.DailyRollingAppender#可以按日期记录文件
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.writeFile = org.apache.log4j.RollingFileAppender
log4j.appender.writeFile.MaxBackupIndex = 5
log4j.appender.writeFile.MaxFileSize = 5MB

#指定文件的名称,文件路径用\代替c:\log.txt==c:\\log\\log.txt
log4j.appender.writeFile.File = c:\log.txt

#指定文件的何种布局方式(输出到文件的格式)(4种)
#org.apache.log4j.HTMLLayout(以HTML表格形式布局),
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.writeFile.layout = org.apache.log4j.PatternLayout

#自定义日志输出格式%d{yyyy-MM-dd HH:mm:ss,SSS}时间详细信息SSS表示毫秒
#log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %m%n
#log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm} %p %c %t %m%n
#log4j.appender.A2.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n-----%c{1}:%L是只获取异常的类名
log4j.appender.writeFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p- %c{1}:%l %m%n
#将日志信息以流格式发送到任意指定的地方,不常用,没继续了解
#log4j.appender.A1 = org.apache.log4j.WriterAppender
#把日志写到Console(控制台)上,效果等同于直接把信息打印到System.out上。
#log4j.appender.A1.=org.apache.log4j.ConsoleAppender

#输出到控制台
log4j.appender.writeConsole = org.apache.log4j.FileAppender
log4j.appender.writeConsole.layout = org.apache.log4j.PatternLayout
log4j.appender.writeConsole.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.writeConsole = org.apache.log4j.ConsoleAppender
log4j.appender.writeConsole.Target = System.out

#输出到文件specificFile_log.txt中
log4j.appender.specificFile = org.apache.log4j.RollingFileAppender
log4j.appender.specificFile.file=c:\specificFile_log.txt
log4j.appender.specificFile.layout = org.apache.log4j.PatternLayout
log4j.appender.specificFile.layout.ConversionPattern= %d{yyyy-MM-dd HH:mm:ss SSS}%5r %-5p %c{3} - %m%n
#%r 输出自应用启动到输出该log信息耗费的毫秒数,%c{3}是全路径的内容{0}只输出类名,{1}类名和类所在的包名

控制台输出信息是:10:22:53,468 DEBUG Log4j_Test01:20 - com.wish.log4j.Log4j_Test01.test_01 : start
 10:22:53,468 DEBUG Log4j_Test01:27 - debug : debug的信息0
 10:22:53,468  INFO Log4j_Test01:28 -  info  : info的信息0
 10:22:53,468  WARN Log4j_Test01:29 -  warn  : warn的信息0
 10:22:53,468 ERROR Log4j_Test01:30 - error : error的信息1
 10:22:53,468 DEBUG Log4j_Test01:32 - com.wish.log4j.Log4j_Test01.test_01 : end

日志文件记录信息是:

2012-10-31 10:23:25,953 DEBUG- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:20) com.wish.log4j.Log4j_Test01.test_01 : start
2012-10-31 10:23:25,953 DEBUG- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:27) debug : debug的信息0
2012-10-31 10:23:25,953  INFO- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:28)  info  : info的信息0
2012-10-31 10:23:25,953  WARN- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:29)  warn  : warn的信息0
2012-10-31 10:23:25,953 ERROR- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:30) error : error的信息1
2012-10-31 10:23:25,953 DEBUG- Log4j_Test01:com.wish.log4j.Log4j_Test01.test_01(Log4j_Test01.java:32) com.wish.log4j.Log4j_Test01.test_01 : end

 

原创粉丝点击