一个使用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. 查询json数据结构的8种方式

    查询json数据结构的8种方式 你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼.这里有8种不同的方式可以做到: JsonSQL JsonSQL实现了使用SQL select语句在json数 ...

  2. css揭秘之按钮的实现技巧

    <html> <title>css</title> <style> button{ padding: .3em .8em; border: 1px so ...

  3. Web打印控件smsx.cab使用说明

    在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab.    使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局 ...

  4. DataView.RowFilter筛选DataTable中的数据

    //定义一个DataView ,得到一个全部职员的视图DataView dataView1 = DbHelperSQL.QueryDataView(sql); //过滤得到一个只显示男职员的视图 da ...

  5. 【spring-boot】快速构建spring-boot微框架

    spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...

  6. ♫【jQuery插件】图片放大镜

    JQZoom

  7. Java [leetcode 35]Search Insert Position

    题目描述: Given a sorted array and a target value, return the index if the target is found. If not, retu ...

  8. HDU 5335 Walk Out

    题意:在一个只有0和1的矩阵里,从左上角走到右下角, 每次可以向四个方向走,每个路径都是一个二进制数,求所有路径中最小的二进制数. 解法:先bfs求从起点能走到离终点最近的0,那么从这个点起只向下或向 ...

  9. NGINX(六)扩展

    前言 nginx模块化设计, 添加扩展模块变得容易, 下面开发一个非常简单的扩展模块, 实现返回http请求的头部内容, 配置标记是ping_pong, 配置在NGX_HTTP_LOC_CONF中. ...

  10. 7、四大组件之二-Service高级

    一.Native Service 1>什么是Native Service 使用JNI编写,在系统启动完成之前启动的系统级服务. 2>哪些服务是Native Service ACCESSIB ...