在Java中处理日志记录

原创 2004年07月26日 17:33:00

JDK1.4中提供了一个日志记录包:java.util.logging,它可以对程序中的日志记录进行相当复杂的控制。例如:通过它可以指定日志的级别和日志的位置(控制台、文件、套接字、内存缓冲区),也可以创建子记录器,通过它可以用程序控制的方式来指定想记录的内容,也可以使用配置文件来指定,而不需要去改动程序。和Log4j相比,它更简单更轻量级,在对日志输出的要求不是很复杂时,它无疑是更好的选择。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

首先我们获得一个LogManager类的一个实例:

LogManager lMgr = LogManager.getLogManager();

然后我们创建记录器,并且把它添加到当前的管理器:

String thisName = “Logpkg”;

Logger log = Logger.getLogger(thisName);

lMgr.addLogger(log);

如果我们没有指定日志文件存放的位置,则按照jre/lib目录下logging.properties文件中指定的内容,默认是ConsoleHandler意味着日志信息在控制台显示。

 

在程序中我们可以按照级别发布日志信息,共有7个级别:SERVER(最高值)WARNINGINFOCONFIGFINEFINERFINEST(最低值),和OFF(不记录)

log.server(“error”);

 

我们可以设置记录器的记录级别,以忽略低于WARNING级别的消息,只有用serverwarning记录的信息才能输出。

log.setLevel(Level.WARNING);

log.info(“This message is info”);//这条信息会被忽略,不会被输出

log.warning(“This message is warning”);//这条信息会输出

 

Logger的名字可以是简单的文字,也可以是逗号分隔的复合名字,一个逗号左边名字相同但是逗号右边具有附加名字的记录器是原型记录器的子记录器,例如一个叫Logpkg的记录器和一个叫Logpkg.Test1的记录器。记录器和它的子记录器可以是不同的级别,在整个程序中可以只记录SERVER信息,对于一个可疑的部分,则可以记录其他更多的事件。

 

如果想要同时把日志输出到文件和控制台,可以创建一个FileHandler并把它添加到记录器。

fh = new FileHandler(“runtime.log”);

log.addHandler(fh);

如果没有特别指定,文件格式默认的是XML

 

通过配置文件来控制日志记录:

FileInputStream fi = new FileInputStream(new File(logging.properties));

lMgr.readConfiguration(fi);

这样做的好处是不需要改变或重新编译程序,就可以改变日志记录的状态。

配置文件的格式:

handlers = java.util.logging.FileHandler,java.util.logging.ConsoleHandler

.Level = INFO

 

java.util.logging.ConsoleHandler.pattern = runtime.log

java.util.logging.ConsoleHandler.limit = 50000

java.util.logging.ConsoleHandler.count = 2

java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter

 

java.util.logging.ConsoleHandler.level = WARNING

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

 

 

spring aop 拦截实现日志管理

这是一篇非常容易理解AOP的demo,   spring aop 拦截实现日志管理     1、技术目标     掌握Spr...
  • cuibruce
  • cuibruce
  • 2016年07月12日 14:56
  • 4331

java异步写日志到文件中

直接上代码了,一共3个类。       package com.tydic.ESUtil; import java.io.File; import java.io.FileWriter; i...
  • nature_fly088
  • nature_fly088
  • 2017年01月17日 17:04
  • 1342

Spring Boot中使用AOP统一处理Web请求日志

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通...
  • zmken497300
  • zmken497300
  • 2016年12月08日 12:56
  • 4899

JAVA_DAO 事务界定 异常处理,日志记录

  • 2010年11月15日 16:23
  • 137KB
  • 下载

LBLogger java日志记录信息

  • 2011年04月16日 12:36
  • 14KB
  • 下载

通用java日志记录开发包,短小而精悍,适合各种大小项目

  • 2011年03月31日 15:13
  • 9KB
  • 下载

java日志记录

  • 2016年03月16日 15:23
  • 23KB
  • 下载

java的守护线程+log4日志记录

  • 2015年01月12日 09:51
  • 469KB
  • 下载

java日志记录组件log4j-1.2.14和commons-logging-1.1.1

  • 2010年03月05日 10:16
  • 377KB
  • 下载

WCF 实现 文件分段上传、支持多个文件一起处理、Log4Net日志记录

  • 2017年11月13日 11:28
  • 13.49MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Java中处理日志记录
举报原因:
原因补充:

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