首页 > 代码库 > logger

logger

一个使用java.util.logging.Logger进行log输出的示例代码如下:

[java] view plaincopy
  1. package com.sample;  
  2.   
  3. import java.io.File;  
  4. import java.util.logging.FileHandler;  
  5. import java.util.logging.Handler;  
  6. import java.util.logging.Level;  
  7. import java.util.logging.Logger;  
  8. import java.util.logging.SimpleFormatter;  
  9.   
  10. public class LoggerSample {  
  11.   
  12.     protected Logger log=Logger.getLogger(this.getClass().getName());  
  13.   
  14.     public LoggerSample(){  
  15.     }  
  16.   
  17.     public void setHandler(Handler handler){  
  18.         this.log.addHandler(handler);  
  19.     }  
  20.   
  21.     public int add(int a,int b){  
  22.         int result=a+b;  
  23.         String l=a +" + "+ b +" = "+result;  
  24.         log.log( Level.INFO,l); //*1  
  25. //    log.info(l);  
  26.         System.out.print( this.getClass().getName());  
  27.         return result;  
  28.     }  
  29.   
  30.     public static void main(String [] args){  
  31.           try{  
  32.                       Logger logg=Logger.getLogger("com.sample.LoggerSample");//*2  
  33.                     logg.setLevel(Level.INFO);//*3  
  34.   
  35.                 File f=new File("C:/logger/log.log");  
  36.                 if(!f.exists()){  
  37.                     new File("C:/logger").mkdir();  
  38.                 }  
  39.   
  40.                 FileHandler fh = new FileHandler(f.toString());//*4  
  41.                 fh.setFormatter( new SimpleFormatter() );  
  42.   
  43. //         ConsoleHandler ch=new ConsoleHandler();  
  44. //         ch.setLevel(Level.ALL);                
  45.   
  46.                 LoggerSample ls=new LoggerSample();  
  47.                 ls.setHandler(fh);  
  48.            ls.add(1,2);  
  49.   
  50.                 fh.close();  
  51.                 }catch(Exception e){  
  52.                     System.out.println("Exception thrown: "+e );  
  53.                     e.printStackTrace();  
  54.                 }             
  55.     }     
  56.   
  57. }  

 

 

*3 处:设置logger输出级别

各级别按降序排列如下:  SEVERE(最高值)  WARNING  INFO  CONFIG  FINE  FINER  FINEST(最低值)  此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL 启用所有消息的日志记录。 如设置的Level级别比预定义的输出级别高,则Level较低处的log(如*1处)就不会输出。

 

*1处:

logger的输出有两种方式: ①log.log(Level.INFO,"message") ②log.info("mesage") 其他级别的输出与此类似。

 

*2处:

获得com.sample.LoggerSample这个类的logger对象。 可设置其Level,这样在LoggerSample运行时会根据在LoggerSample中预先定义好的Level级别来输出log。

 

*4 处:

可以给logger添加Handler来进行不同形式的输出: ①FileHandler:输出到文件 ②ConsoleHandler:输出到控制台 ③SocketHandler:输出到网络

logger