例说java常用日志管理

   关于java的日志,我们有很多种,常见的有commons-loging、log4j、slf4j等,实际上jdk本身带有一套日志java.util.logging.Logger。现在对这些日志的用法做一个小总结。

 

一、jdk自带的日志管理类

 

import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

/**
 * java自带日志管理
 * @author  Walter.Huang
 * @create date 2014-12-15
 */
public class LogMain {

	public static void main(String[] args) throws Exception {
		Logger log1=Logger.getLogger("javaLog");
		Logger log2=Logger.getLogger("javaLog");
		
		System.out.println(log1==log2); //同名日志获取到的对象为同一个,故打印“true”
		
		log2=Logger.getLogger("javaLog2");//重置一个
		
		/*
		日志级别,使用Level类承载,从高到低依次是:SEVERE(最高值)、WARNING、INFO、CONFIG、FINE、FINER、FINEST(最低值) 
		此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL 启用所有消息的日志记录。 
		logger默认的级别是INFO,比INFO更低的日志将不显示。 
		*/
		log1.setLevel(Level.INFO);
		
		/*
		Handler 对象从 Logger 中获取日志信息,并将这些信息导出。
		例如,它可将这些信息写入控制台或文件中,也可以将这些信息发送到网络日志服务中,或将其转发到操作系统日志中。 
		可通过执行 setLevel(Level.OFF) 来禁用 Handler,并可通过执行适当级别的 setLevel 来重新启用。 
		Handler 类通常使用 LogManager 属性来设置 Handler 的 Filter、Formatter 和 Level 的默认值。 
		java.util.logging.Handler 
	  	java.util.logging.MemoryHandler 内存 
	  	java.util.logging.StreamHandler  流
	    java.util.logging.ConsoleHandler 控制台
	    java.util.logging.FileHandler 文件
	    java.util.logging.SocketHandler 网络
		*/
		ConsoleHandler consoleHandler = new ConsoleHandler(); //控制台
		log1.addHandler(consoleHandler);

		FileHandler fileHandler = new FileHandler("C:/log/log.log");//文件
		
		/*
		 默认的日志格式为xml格式,结构太复杂,可以自定义
		 */
		fileHandler.setFormatter(new LogHandler());
		log2.addHandler(fileHandler);
		
		/*
		 写日志
		 */
		log1.info("日志1");
		log2.info("日志2");
		log2.finest("日志不见");//日志级别是Level.INFO比FINEST级别高,所以不会写日志
		
	}

}


/**
 * Formatter自定义类
 * 类的说明
 * @author  Walter.Huang
 * @create date 2014-12-15
 */
class LogHandler extends Formatter{
	@Override
	public String format(LogRecord record) {
		return record.getLevel()+":"+record.getMessage()+"\n";
	}
}

 二、common-loging

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值