`
lgd_java2eye
  • 浏览: 189611 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java.util.logging日志功能使用

    博客分类:
  • java
阅读更多

Java Logging API是sun公司于2002年5月正式发布的。它是自J2SE 1.4版本开始提供的一个新的应用程序接口。它能够很方便地控制和输出日志信息到文件,控制台或其它用户定义的地方,如数据库,电子邮件等。所以它是为最 终用户,系统管理员,软件服务工程师和开发人员提供的一种捕捉安全漏洞,检查配置正确性,跟踪调查系统运行瓶颈和调查系统运行错误的工具。
Java Logging API的设计目标是要:
1. 能够在运行时启动或关闭日志功能;
2. 能够非常精密地控制日志,即能够启动或关闭日志的某个个别功能;
3. 能够在运行时注册日志服务,当然也可以注册新的第三方日志服务;
4. 能够提供连接服务,使Java Logging API能与现存的日志系统(如操作系统的日志功能)连接;
5. 能够支持显示高优先度的信息给最终用户。

 

/**
 * 
 */
package com.skyon.gd.test;

import java.util.logging.Logger;

/**
 * @author sandy
 *
 */
public class LogTest {

	/**
	 * @param args
	 */
	private static String name = LogTest.class.getName();
	private static Logger logger = Logger.getLogger(name);
	public static void main(String[] args) {
		test();
	}
	private static void test() {
		logger.info("this is a logger test");
	}
}

 说明:
1. Logger是Java Logging API中的一个类。在此之前,你必须确认你所使用的J2SE是1.4或更高版本。
2. Logger.getLogger方法创建了一个Logger实例。每一个Logger实例都必须有个名称,通常的做法是使用类名称定义Logger实例。后面还会讲到这样做的原因。
3. log.info方法用来输出日志信息。
执行例1你可以看到控制台上输出了日期时间,类名,方法名和Hello Logging World的信息。

输出的种类
Java Logging API提供了七个级别用来控制输出。这七个级别分别是:
SEVERE (最高级别)
WARNING
INFO
CONFIG
FINE
FINER
FINEST (最低级别)
与之对应,在Logger类中也为你预备好了这七个级别的输出方法。下面是使用这几种方法输出日志信息的例子。

 

package com.skyon.gd.test;
import java.util.logging.Logger;
/**
 * 
 * @author sandy
 *
 */
public class LogLevelTest {

	private static String name=LogLevelTest.class.getName();
	private static Logger logger=Logger.getLogger(name);
	public static void main(String[] args) {
		test();
	}
	private static void test() {
		//level<=1
		logger.severe("severe  level");
		//level<=2
		logger.warning("warning level");
		//level<=3
		logger.info("info level");
		//level<=4
		logger.config("config level");
		//level<=5
		logger.fine("fine level");
		//level<=6
		logger.finer("finer level");
		//level<=7
		logger.finest("finest level");
	}
}

 

执行例2你可能看到控制台上只输出了(1)-(3)的信息,(4)-(7)的信息并没有如想象的那样被输出。这不要紧,继续看下面的内容你就知道原因了。

控制输出
上面例2中info以下的级别信息没有被输出是因为缺省日志输出级别的设置是info,也就是说只有info或它以上的级别被输出,它以下的级别不被输 出。通过变更设置可以使输出级别改变。变更输出级别的方法有两种,一是使用外部配置文件,二是使用程序编码。通常都是使用第一种方法。缺省的外部配置文件 是JRE中lib/logging.properties文件。你可以打开这个文件,修改以下两行为:
.level= ALL
java.util.logging.ConsoleHandler.level = ALL
修改完后,再运行一次例2,这次(1)-(7)的内容就都输出出来了。你可以修改输出级别为以下任何值,试一试输出有什么变化。
OFF
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
ALL

自定义的配置文件
如果你不想使用系统提供的缺省配置文件lib/logging.properties,那么也可以使用自己定义的配置文件。使用自定义配置文件的方法有很 多种,比较方便的方法是通过定义系统属性值java.util.logging.config.file来设置自定义配置文件。例如在执行例2时,使用下 面的命令:
java -Djava.util.logging.config.file=mylogging.properties LevelTest
其中mylogging.properties是你自定义的配置文件。如果需要,你还可以加上文件的路径名。

更多的输出控制
除了前面讲到的七个输出级别外,Logger类中还提供了以下三个便于程序员调试时使用的输出信息方法:
entering
exiting
throwing
它们是与FINER相同级别的输出,分别用于程序入口,出口和例外时的输出。

 

 

分享到:
评论

相关推荐

    java.util.logging.Logger使用详解

    在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging.Logger` 的实例。可以通过调用 `Logger` 类中的静态方法 `getLogger...

    tomcat配置生成的日志文件按照日期新建工具

    Tomcat默认使用了Java的`java.util.logging`框架,也支持通过Log4j或者Logback等第三方日志框架进行日志处理。在Tomcat的`conf/logging.properties`或`conf/log4j.properties`(取决于所使用的日志框架)文件中,...

    Java Logger Logging 封装

    `Logger`是Java标准库`java.util.logging`包提供的日志工具,它提供了多种级别的日志记录,如`SEVERE`、`WARNING`、`INFO`、`CONFIG`、`FINE`、`FINER`和`FINEST`。本篇文章将深入探讨Java中的`Logger`封装,以及...

    java swing用Logger输出错误日志.docx

    在Swing应用中,我们同样可以使用Java内置的`java.util.logging`包来输出错误日志。这篇文档主要讨论了如何在Java Swing应用中使用`Logger`来生成和管理错误日志。 `Logger`是Java的日志记录工具,它提供了多种级别...

    juli:瘦日志记录包装器,以帮助使用java.util.logging

    Java Util日志记录改进程序(JULI) 尽管很少有人将首选的框架java.util.logging (JUL)嵌入到Java中,所以它对最少的应用程序有帮助,但并不是最容易使用。 这个库轻轻地包装起来,使生活更轻松: 通过简化日志...

    Tomcat输出catalina.out的大小控制

    在Tomcat的`conf`目录下,有一个名为`logging.properties`的文件,它是Java日志系统(java.util.logging)的配置文件。你可以通过修改此文件来定制日志行为。例如,你可以创建一个文件Handler,设置其日志文件大小...

    splunk-jul:Splunk java.util.logging 格式化程序

    简单的 java.util.logging 格式化程序将有意义的日志输出为 Splunk 可以本地读取的日志格式 - 无需对 splunk 转发器配置进行任何更改。 如何使用 java.util.logging (JUL) 有一件非常棒的事情:它是 Java 的标准...

    Java原生日志工具Logger参考.docx

    Java原生日志工具Logger是JDK自带的日志处理工具,位于java.util.logging包中。它提供了一个灵活的日志处理机制,允许开发者自定义日志的输出级别、输出目标和格式。 日志级别是可以动态设置的,开发者可以根据需要...

    log4j.properties

    log4j-1.2.16.jar,三个文件一起组成一个完整的日志输出,Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的java.util.logging。...

    Linux tomcat下catalina.out日志文件分割

    tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下; 2.拷贝log4j.jar,lo4j....

    28个java常用的工具类

    22. **`java.util.logging.Logger`**: 日志记录工具。 23. **`java.util.concurrent.locks.Lock`** 和 **`java.util.concurrent.locks.ReentrantLock`**: 锁机制,用于线程同步。 24. **`java.util.ArrayList`**: ...

    Java常用工具类大全,工作5年精心整理.zip

    5. **`java.util.logging.Logger`**:Java内置的日志系统,用于记录程序运行过程中的信息、警告和错误,便于调试和问题定位。 6. **`java.text.SimpleDateFormat`与`java.time.format.DateTimeFormatter`**:用于...

    最最常用的 100 个 Java类分享

    52. `java.util.logging.Level`:日志级别,用于控制日志输出的详细程度。 53. `java.lang.reflect.Field`:Field类代表类的字段,提供字段访问和修改功能。 54. `java.io.StringWriter`:StringWriter用于将输出...

    tomcat 外网部署按天切分保存日志配置文件

    java.util.logging.FileHandler.rotationPolicy = java.util.logging.FileHandler.RolloverPolicy Daily ``` 这里`%h`表示用户主目录,`%catalina`是前缀,`%u`是当前线程ID,`%g`是日志文件的编号。`limit`定义...

    java工具类

    12. **`java.util.logging.Logger`**:日志记录工具,用于输出程序运行时的信息。 13. **`java.lang.StringBuilder`/`StringBuffer`**:用于字符串的拼接,比使用`+`操作符更高效。 14. **`java.util.stream....

    Common Logging的jar包.zip

    Commons Logging通过提供一个抽象层,允许开发者使用简单的API来记录日志,而具体的日志实现(如Log4j、Java Util Logging或SLF4J)可以根据项目需求或者环境配置进行选择和切换。 Commons Logging的核心概念包括...

    java中logging的demo

    1. **引入日志API**:在Java程序中使用`java.util.logging`,首先需要导入相应的包: ```java import java.util.logging.Logger; import java.util.logging.Level; ``` 2. **创建Logger实例**:每个类通常都有...

    LogViewer:查看器,用于查看java.util.logging.Logge生成的xml格式的日志文件-开源

    LogViewer是一款专为查看基于Java.util.logging.Logger框架生成的XML格式日志文件设计的开源查看器。这款工具采用Java和Swing技术构建,为开发者提供了一个直观且功能丰富的界面,来解析和分析日志信息。在Java应用...

    org.apache.commons.logging-sources-1.1.1.zip

    Apache Commons Logging 是一个Java日志库,它提供了一个接口,允许开发者使用多种不同的日志框架,如Log4j、Java内置的日志API(java.util.logging)或其他第三方日志实现。`org.apache.commons.logging-sources-...

Global site tag (gtag.js) - Google Analytics