2006-05-30 学习使用java.util.logging.Logger类(纪念屈原吧)

原创 2006年05月30日 18:03:00

1.在程序里面写死需要哪些log级别,使用哪些subscribe

import java.util.logging.*;
public class LoggingProgramSetPubSubpro
{
 public static void main(String[] args)
 {
  Logger logger = Logger.getLogger("loggingTest");
  logger.setLevel(Level.INFO);//这个设定最重要
  
  ConsoleHandler consoleHandler = new ConsoleHandler();
  consoleHandler.setLevel(Level.OFF);//这个好像不起作用
  
  logger.addHandler(consoleHandler);
  
  logger.severe("嚴重訊息");
  logger.warning("警示訊息");
  logger.info("一般訊息");
  logger.config("設定方面的訊息");
  logger.fine("細微的訊息");
  logger.finer("更細微的訊息");
  logger.finest("最細微的訊息");
 }
}

2.如何在配置文件里面改,好处是不用重新编译原文件

import java.util.logging.*;
/**

说明:我们可以在C:/Documents and Settings/yay目录下面找到java0.log文件
 它是一个xml格式的,
 我们可以在${jdk}/jar/lib下面找到logging.properties文件,你可以在这里面修改

 

*/
public class LoggingPropertiesFile
 {
  public static void main(String[] args)
   {

    Logger logger = Logger.getLogger("loggingTest");
    logger.severe("严重的信息");
    logger.warning("警告信息");
    logger.info("一般信息");
    logger.config("设定方面的信息");
    logger.fine("细微的信息");
    logger.finer("更细微的信息");
    logger.finest("最细微的信息");
    

   }
 }

3.使用log方法,使用自定义的Formatter

import java.util.logging.*;
/**

輸出格式是由java.util.logging.Formatter决定的
注意这里说得这个Formatter是属于哪里包里面的,不要搞混了

*/
public class LoggingLogMethod
{
 public static void main(String[] args)
 {
  Logger logger = Logger.getLogger("loggingTest");
  logger.setLevel(Level.ALL);
  
  ConsoleHandler consoleHandler = new ConsoleHandler();
  consoleHandler.setLevel(Level.ALL);
  
  logger.addHandler(consoleHandler);
  
  try
  {
   //%h代表用户主目录
   //%g代表自动编号
   FileHandler  fileHandler=new FileHandler("%h/loggingHome%g.log");
   fileHandler.setLevel(Level.ALL);
   fileHandler.setFormatter(new YAYFormatter());
   
   
   logger.addHandler(fileHandler);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  
  
  
  logger.log(Level.SEVERE, "嚴重訊息");
  logger.log(Level.WARNING, "警示訊息");
  logger.log(Level.CONFIG, "一般訊息");
  logger.log(Level.CONFIG, "設定方面的訊息");
  logger.log(Level.FINE, "細微的訊息");
  logger.log(Level.FINER, "更細微的訊息");
  logger.log(Level.FINEST, "最細微的訊息");
 }
}

4.如何自定义java.util.logging.Formatter

import java.util.logging.*;
public class YAYFormatter extends Formatter
{
 public String format(LogRecord logRecord)
 {
  return  "LogRecord info: " + logRecord.getSourceClassName() +//就是哪个类里面用的了你
   "/n" +"Level/t|/tLoggerName/t|/tMessage/t|/n" +
  logRecord.getLevel() + //是SEVERE还是WARNING还是别的
    "/t|/t" +
   logRecord.getLoggerName() +//这个logger发布者
     "/t|/t" +
   logRecord.getMessage() + //消息内容
      "/t|/n/n";   
 }
}

相关文章推荐

java.util.logging.Logger使用详解

  • 2012年10月26日 11:20
  • 54KB
  • 下载

java.util.logging.Logger使用详解

java.util.logging.Logger不是什么新鲜东西了,1.4就有了,可是因为log4j的存在,这个logger一直沉默着,其实在一些测试性的代码中,jdk自带的logger比log4j更...

storm中使用log出现java.lang.RuntimeException: java.io.NotSerializableException: java.util.logging.Logger

在storm中,想自己去写日志,使用的方法是

java.util.logging.Logger基础教程

从JDK1.4开始即引入与日志相关的类java.util.logging.Logger,但由于Log4J的存在,一直未能广泛使用。综合网上各类说法,大致认为:     (1)Logger:适用于小型...

利用java.util.logging.Logger输出日志

 log4j提供了非常灵活而又强大的日志功能,java运行库中的日志功能反而被忽略了。其实也是挺好用的,最重要的是,用这个的话就不再需要log4j的jar文件。 由于java.util.log...

java.util.logging.Logger日志生成过程浅析

http://www.tuicool.com/articles/vy6Zrye ****************************************** java.util...

java日志 java.util.logging.Logger用法

系统性的介绍日志及相关工具,参考http://blog.jobbole.com/51155/      1、基本概念      Logger中有2个比较重要的概念,分别是记录器(Logger)与...

java.util.logger的使用

1:java sdk 自带的logger配置文件位于 sdk home目录下: jdk1.6.0_25\jre\lib\logging.properties 2:启用该日志配置...

转] java.util.logging日志功能使用快速入门

摘自http://blog.csdn.net/dl88250/archive/2007/10/25/1843813.aspx Java Logging API是sun公司于2002年5月正式发布的。...

java.util.logging日志功能使用快速入门

java.util.logging日志功能使用快速入门
  • dingxy
  • dingxy
  • 2011年05月06日 10:18
  • 497
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 2006-05-30 学习使用java.util.logging.Logger类(纪念屈原吧)
举报原因:
原因补充:

(最多只允许输入30个字)