1. 概述

JDK自带的日志组件在包java.util.logging下,如图:

2. 架构

如上图所示,JDK日志组件核心元素包括:Logger,Handler,Filter和Formatter,他们的关系如下:
    --Logger
      --Handler
        --Filter
        --Formatter

Handler类图:

JDK日志组件提供Handler比较少,支持将日志输出到控制台,文件,网络。

Formatter类图:

JDK日志组件仅提供了2种日志格式,默认为xml格式。

3. 通过API使用JDK日志组件

// 通过API使用JDK日志组件
private static void log2FileByAPI() throws SecurityException, IOException {
// 将日志记录到文件中
FileHandler fileHandler = new FileHandler("D:/logs/java_util_log.log", true);
Formatter formatter = new SimpleFormatter();
fileHandler.setFormatter(formatter); logger.addHandler(fileHandler);
logger.info("LOG By API");
}

4. 通过配置文件使用JDK日志组件

// 通过配置文件使用JDK日志组件
private static void log2FileByConfig() throws SecurityException, IOException {
// 读取classpath路径下的文件
InputStream is = JDKLogTest.class.getResourceAsStream("/jdklog.properties");
LogManager.getLogManager().readConfiguration(is); logger.log(Level.INFO, "this is a INFO msg");
}

jdklog.properties配置:

# Logging
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler # File Logging
java.util.logging.FileHandler.pattern = D:/logs/java_util_log.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.append = true # Console Logging
java.util.logging.ConsoleHandler.level = ALL

总结:
JDK提供的日志组件,能满足基本的日志需求,功能比较单一:
(1)支持的日志级别比较少: FINEST < FINER < FINE < CONFIG < INFO < WARNING < SEVERE(从低到高排序)。
(2)允许输出日志到文件,控制台,和网络主机。
(3)日志格式比较简单,默认输出格式为xml格式,可以指定为SimpleFormatter。

总之,在日志需求比较简单的情况下,可以使用JDK自带的日志组件;否则,使用第三方日志组件才能满足更加复杂的需求。

细说JDK日志组件的更多相关文章

  1. 细说java平台日志组件

    1. java.util.logging JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件.支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机.相对于第三方独立日志框架来说, ...

  2. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

  3. 转:java日志组件介绍(common-logging,log4j,slf4j,logback )

    原网址:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging common-logging是 ...

  4. 日志组件 logback

    一.简介 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logb ...

  5. 五分钟秒懂Java日志组件

    Java中有许多种日志记录方式,有些API有占位符,有些API没占位符,初学的人可能会搞不清楚这些日志组件的由来.我一开始的时候也是很懵逼的,后来一点点弄懂了于是就又了这篇文章. 在Java中进行日志 ...

  6. 【转】java日志组件介绍(common-logging,log4j,slf4j,logback )

    common-logging common-logging是apache提供的一个通用的日志接口.用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, comm ...

  7. Java日志组件2---Log4j(org.apache.log4j.Logger)

    如果我们在项目中,需要记录的东西并不多,而且也不需要有太多区分,使用jdk的自带Log完全可以解决问题.但是,在开发的过程中,大多数项目都比较大,为方便找到程序的bug,都是需要系统的记录日志的.这里 ...

  8. 2015第30周四Java日志组件

    Java 日志 API 从功能上来说,日志 API 本身所需求的功能非常简单,只需要能够记录一段文本即可.API 的使用者在需要进行记录时,根据当前的上下文信息构造出相应的文本信息,调用 API 完成 ...

  9. 关于log4j、jul、jcl、slf4j等等日志组件的理解

    日志组件: 我们经常在开发项目的时候,需要打印记录项目过程中的一些日志.那我们经常大概会用到 log4j.jul.jcl.slf4j.simple.nop.logback 等等,那我们就详细介绍下这些 ...

随机推荐

  1. 安装 linux-dash

    先看看软件的效果图,再介绍安装方法. 通过上图可以看到.软件可以实时监控CPU.内存.网络流量等相关信息,甚至可以监控到硬件信息安装方法:yum -y install httpd php zip un ...

  2. 队列模式&主题模式

    # RabbitMQ 消息中间件 **Advanced Message Queuing Protocol (高级消息队列协议** The Advanced Message Queuing Protoc ...

  3. JSOI2014骑士游戏(最短路)

    题目背景 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. 题目描述 在这个游戏中,JYY一共有两种攻击方式,一种是普通 ...

  4. log4j2 自定义配置文件,java载入

    http://logging.apache.org/log4j/2.x/faq.html#separate_log_files How do I reconfigure log4j2 in code ...

  5. 【SDOI2008】仪仗队

    //裸的欧拉函数//y=kx//求不同的k有多少#include<bits/stdc++.h> #define ll long long #define N 40010 using nam ...

  6. Java 读数据库字段时发现的一个现象

    早上发现有一个网名叫“帅!是不需要理由”的一个人,在后台只能看到“帅!是不需要理”,“由”字就是不显示出来. 经过分析发现,在Access数据库中,name这个字段的长度是15,因为我知道Access ...

  7. bcftools或vcftools提取指定区段的vcf文件(extract specified position )

    下载安装bcftools 见如下命令: bcftools filter 1000Genomes.vcf.gz --regions 9:4700000-4800000 > 4700000-4800 ...

  8. 第十四节,TensorFlow中的反卷积,反池化操作以及gradients的使用

    反卷积是指,通过测量输出和已知输入重构未知输入的过程.在神经网络中,反卷积过程并不具备学习的能力,仅仅是用于可视化一个已经训练好的卷积神经网络,没有学习训练的过程.反卷积有着许多特别的应用,一般可以用 ...

  9. Solr7.1--- 指定ConfigSets

    我们都知道Solr提供了一个默认的配置,以及一个demo 但是实际场景是我们需要自己独立配置,不用默认的,主要为了方便管理. 进入目录: D:\solr-7.1.0\server\solr\confi ...

  10. Gym102082 G-What Goes Up Must Come Down(树状数组)

    Several cards with numbers printed on them are lined up on the table. We’d like to change their orde ...