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

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

*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的更多相关文章

  1. ABP源码分析八:Logger集成

    ABP使用Castle日志记录工具,并且可以使用不同的日志类库,比如:Log4Net, NLog, Serilog... 等等.对于所有的日志类库,Castle提供了一个通用的接口来实现,我们可以很方 ...

  2. org.apache.log4j.Logger详解

    org.apache.log4j.Logger 详解 1. 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工 ...

  3. Java程序日志:java.util.logging.Logger类

    一.Logger 的级别 比log4j的级别详细,全部定义在java.util.logging.Level里面.各级别按降序排列如下:SEVERE(最高值)WARNINGINFOCONFIGFINEF ...

  4. [LeetCode] Logger Rate Limiter 记录速率限制器

    Design a logger system that receive stream of messages along with its timestamps, each message shoul ...

  5. .Net Core Logger 实现log写入本地文件系统

    .net core 自带一个基础的logger框架Microsoft.Extensions.Logging. 微软默认实现了Microsoft.Extensions.Logging.Console.d ...

  6. Android源码——Logger日志系统

    Android的Logger日志系统是基于内核中的Logger日志驱动程序实现的. 日志保存在内核空间中 缓冲区保存日志   分类方法:日志的类型  +   日志的输出量   日志类型:   main ...

  7. java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;

    如果你出现类似如下错误 1. Install tomcat7 in my home directory and set up `CATALINA_HOME` environment variable ...

  8. LeetCode 359 Logger Rate Limiter

    Problem: Design a logger system that receive stream of messages along with its timestamps, each mess ...

  9. 你的日志组件记录够清晰嘛?--自己开发日志组件 Logger

    现在现成的日志组件实在是太多太多,为什么我还需要自己实现呢????? 需求来源于java的log4j, [07-31 16:40:00:557:WARN : com.game.engine.threa ...

  10. log4j2 不使用配置文件,动态生成logger对象

    大家平时使用Log4j一般都是在classpath下放置一个log4j的配置文件,比如log4j.xml,里面配置好Appenders和Loggers,但是前一阵想做某需求的时候,想要的效果是每一个任 ...

随机推荐

  1. EasyUI combotree值的设置 setValue

    如果combotree的json数据如下: [ { "id":"2", "text":"wwwww", "st ...

  2. tomcat 禁止某些文件(夹)的访问

    tomcat 禁止某些文件(夹)的访问 <!-- 不允许访问的文件以及文件夹 --> <security-constraint> <display-name>Tom ...

  3. MVC 文件上传和图片剪辑

    http://www.cnblogs.com/hinton/archive/2012/03/01/2375465.html http://gallery.kissyui.com/uploader/1. ...

  4. iOS开发--绘图教程

    本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容.希望本文能够对你有所帮助. 本文由海水的味道翻译整理,转载请 ...

  5. Photoshop CS4 启动弹出许可协议

    win7:删除 1.C:\Users\All Users\FLEXnet\adobe_00080000_tsf.data WinXP:(c:/Documents and Settings/All Us ...

  6. C#基础精华03(常用类库StringBuilder,List<T>泛型集合,Dictionary<K , V> 键值对集合,装箱拆箱)

    常用类库StringBuilder StringBuilder高效的字符串操作 当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作. String 对象是不可变的. 每次使用 System. ...

  7. *IntelliJ IDEA配置Hibernate

    为IntelliJ IDEA安装Hibernate插件

  8. Android安全问题 静音拍照与被拍

    之前写过一些android手机root之后的安全问题的(文章列表见末尾),其实我是想到哪就写到了,今天整理硬盘,发现一年之前写过一段代码,所以今天我们就一起来讨论一下. 注:这里不是讨论多nb的技术, ...

  9. java synchronized wait

    在多个线程要互斥访问数据,但线程间需要同步时——例如任务分多个阶段,特定线程负责特定阶段的情况,经常合作使用synchronized 和 wait() /** * * 计算输出其他线程锁计算的数据 * ...

  10. caffe简易上手指南(二)—— 训练我们自己的数据

    训练我们自己的数据 本篇继续之前的教程,下面我们尝试使用别人定义好的网络,来训练我们自己的网络. 1.准备数据 首先很重要的一点,我们需要准备若干种不同类型的图片进行分类.这里我选择从ImageNet ...