`

例说java常用日志管理

    博客分类:
  • java
log 
阅读更多

   关于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

分享到:
评论

相关推荐

    Java学生成绩管理系统源代码

    7. **文件I/O操作**:在本例中,"Java学生成绩管理系统源代码.txt.txt"可能是项目中用于记录日志或临时存储数据的文件,涉及到Java的File类和流操作。 8. **多线程**:在大型系统中,可能需要多线程处理以提高并发...

    课程设计-基于Java web的医药管理系统(源码+数据库+报告).zip

    在框架选择上,系统可能采用了Struts框架,这是Java Web开发中常用的MVC框架之一。从"struts.jpg"的文件名推测,此图可能展示了Struts框架的工作原理或系统架构图。Struts框架简化了请求处理流程,使得开发更规范,...

    使用Java单例模式实现一个简单的日志记录器.txt

    ### 使用Java单例模式实现一个简单的日志记录器 #### 一、单例模式简介 单例模式是一种常用的软件设计模式,...此外,还提供了写入日志的方法,便于实际应用中的日志管理。这种方法简单有效,适合初学者理解和实践。

    超市管理系统java源码

    2. **Spring框架**:Java开发中常用的轻量级框架,用于依赖注入、事务管理、AOP(面向切面编程)等,能简化应用程序的开发。 3. **Hibernate或MyBatis**:持久层框架,用于处理数据库操作,简化SQL查询,提高开发...

    java web开发实战1200例

    在《Java Web开发实战1200例》中,你会看到如何配置和使用Spring框架来实现这些功能。 数据库连接与操作也是Java Web开发的重要部分。JDBC(Java Database Connectivity)是Java与数据库交互的标准接口。开发者需要...

    java导出oracle数据(单表).pdf

    Java 是一种广泛使用的编程语言,Oracle 是一种常用的关系数据库管理系统。在实际应用中,经常需要将 Oracle 数据库中的数据导出到其他文件中,以便进行数据分析、备份或迁移等操作。下面将详细介绍 Java 导出 ...

    scala通过logstash发送日志到kafka的Demo

    在IT行业中,日志管理是系统监控和故障排查的关键环节。在这个场景中,我们将探讨如何使用Scala编程语言通过Logstash将应用日志发送到Kafka消息队列。首先,让我们理解涉及的技术栈: 1. **Scala**: Scala是一种多...

    Java多线程编程环境中单例模式的实现

    在Java中,单例模式的应用非常广泛,特别是在资源管理、日志记录、数据库连接等方面。然而,在多线程环境中实现单例模式时,需要特别注意线程安全问题。本文将详细介绍如何在Java多线程编程环境中正确实现单例模式。...

    java爬虫,以爬取sohu新闻为例

    在这个案例中,我们以爬取搜狐新闻为例,但同样的方法可以应用于其他网站,如网易和新浪。以下是对这个Java爬虫项目及其相关知识点的详细说明: 1. **Java爬虫基础**:Java爬虫主要是通过HTTP/HTTPS协议与服务器...

    JAVA 2应用编程150例.rar

    9. **Java API**:Java的标准库(JDK)包含了大量预先定义好的类和方法,如Math类、String类、Date类等,这些都是编程过程中常用的工具。 10. **异常处理和调试**:在150个例子中,可能会涉及到如何定位和修复程序...

    Java项目开发20例

    《Java项目开发20例》是一份非常适合初学者和正在准备课程设计或毕业设计的学生的资源集合。在Java编程的世界中,实践经验往往比理论知识更为重要,因为它们能帮助我们理解如何将理论应用到实际问题中。这个压缩包中...

    java三大科技

    Java三大技术指的是Hibernate、Struts和Spring,它们是Java开发中的关键框架,常用于构建企业级Web应用程序。...这种组合方式可以有效地组织代码结构,提高代码的可测试性和可维护性,是Java Web开发中的常用解决方案。

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 实例086 编写同名的方法 107 实例087 构造方法的应用 108 5.2 修饰符的使用 109 实例088 单例模式的...

    Java学习路线图.pdf

    * 常用工具:掌握 Java 中的常用工具,例如泛型、枚举、注解、集合、IO 基础、NIO 等。 * 反射基础:了解 Java 中的反射机制,掌握 Class、Method、Field 的使用。 * 并发基础:了解 Java 中的并发编程,掌握 java....

    java、oracle、html学习日志.docx

    根据提供的文件信息,本文将详细解析“java、oracle、html学习日志.docx”文档中涉及的核心知识点。主要内容包括Java的基础操作与环境配置、Oracle数据库的相关概念以及HTML的基础知识。 ### Java基础操作与环境...

    毕业设计 Java web项目源码整合开发ssm 图书馆管理系统项目源码

    首先,SSM框架是Java Web开发中常用的三大组件的组合:Spring作为整体的容器,负责管理对象和依赖注入;Struts2作为 MVC(Model-View-Controller)框架,处理用户请求并分发到相应的业务逻辑;MyBatis则作为持久层...

    方法日志打印.rar

    这种注解在Spring AOP(面向切面编程)中常用,它允许我们对方法执行前后的事件进行拦截,进而添加日志记录。这里的`value`参数用于指定操作描述。 2. **AOP(面向切面编程)**: AOP是一种编程范式,允许程序员...

    使用java实现的爬虫程序

    在Java中实现爬虫,通常涉及以下几个关键知识点: 1. **网络请求库**:Java中的HttpURLConnection是基础的HTTP请求库,但实际开发中更常使用如Apache HttpClient或OkHttp这样的第三方库,它们提供了更便捷的API来...

Global site tag (gtag.js) - Google Analytics