《转载于--https://www.cnblogs.com/yorickLi/p/6158405.html》

Java中关于日志系统的API,在 java.util.logging 包中,在这个包中,Logger类很重要。

Logger类是用来记录 某个级别的日志消息:

  级别共分为以下几类,从上倒下,级别依次下降:

    SEVERE(严重)------级别最高

    WARNING(警告)

    INFO

    CONFIG

    FINE

    FINER

    FINEST------最低值

    另外,还有一个级别 OFF,可以用来关闭日志;使用级别 ALL,启用所有消息的日志记录。(日志消息级别,可以查看 java.util.logging.Level类)

    具体记录日志的方法,查看此类的API文档,在此就不详述了。

  Logger记录的日志消息会被转发到已注册的Handler对象,handler对象可以将消息发送到:控制台,文件,网络等等。

Handler类(抽象类):主要用于转发日志消息

  Hanlder类下有2个子类:MemoryHandler、StreamHandler。

  StreamHandler下有3个子类:ConsoleHandler(将日志消息打印到控制台)、FileHandler(将日志消息输出到文件)、SocketHandler(将日志发送到网络中的某个主机)。具体详情,查看API文档。

Formatter类(抽象类):主要用于格式化日志记录消息。

  有2个子类:SimpleFormatter(纯文本形式), XmlFormatter(XML形式)

  

下面一起来写一个测试程序吧:

/**
* DateAndTime: 2016-12-8下午10:37:18
*/
package chapter07;

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;

/**
* @author Administrator
* 将日志记录写入到文件中
*
*/
public class TestLoggingToFile {

public static void main(String[] args) throws SecurityException, IOException {
//日志记录器
Logger logger = Logger.getLogger("chapter07");
//日志处理器
FileHandler fileHandler = new FileHandler("d:\\test.txt");

//需要记录的日志消息

LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");

//为处理器设置日志格式:Formatter

SimpleFormatter sf = new SimpleFormatter();

fileHandler.setFormatter(sf);
//注册处理器
logger.addHandler(fileHandler);
//记录日志消息
logger.log(lr);

}

}

当然,如果把 SimpleFormatter 改成 XmlFormatter,记录的消息是xml形式。

Java-Logger日志的更多相关文章

  1. Java Logger(java日志)

    目录 1. 简介2. 安装3. log4j基本概念3.1. Logger3.2. Appender3.2.1. 使用ConsoleAppender3.2.2. 使用FileAppender3.2.3. ...

  2. 【java】java自带的java.util.logging.Logger日志功能

    偶然翻阅到一篇文章,注意到Java自带的Logger日志功能,特地来细细的看一看,记录一下. 1.Java自带的日志功能,默认的配置 ①Logger的默认配置,位置在JRE安装目录下lib中的logg ...

  3. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  4. Android源码——Logger日志系统

    Android的Logger日志系统是基于内核中的Logger日志驱动程序实现的. 日志保存在内核空间中 缓冲区保存日志   分类方法:日志的类型  +   日志的输出量   日志类型:   main ...

  5. Java主流日志工具库

    在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.lo ...

  6. Java 标准日志工具 Log4j 的使用(附源代码)

    源代码下载 Log4j 是事实上的 Java 标准日志工具.会不会用 Log4j 在一定程度上可以说是衡量一个开发人员是否是一位合格的 Java 程序员的标准.如果你是一名 Java 程序员,如果你还 ...

  7. Java自定义日志输出文件

    Java自定义日志输出文件 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个Appender的日志级别.打印形式和日志的输出路径 ...

  8. java Log日志规范

    Overview 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是 ...

  9. Java常用日志框架介绍

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  10. java之日志管理

    一. 为什么要使用日志 二. 常见日志框架介绍 三. Logback+SLF4J实战 四. 项目源码下载 五. 参考文章   一. 为什么要使用日志 1. 对IT安全至关重要   当您使用强大的日志管 ...

随机推荐

  1. Raspbian 2019-06-20 发布

    有关新Raspbian的信息是作为今天博客文章的一部分提供的,该帖子宣布了全新的Raspberry Pi 4: 为了支持Raspberry Pi 4,我们发布了一个全新的操作系统,基于即将发布的Deb ...

  2. Idea发布项目到Docker

    一.Docker开启远程访问 [root@local host ~]# vi /lib/systemd/system/docker.service #修改ExecStart这行 ExecStart=/ ...

  3. 关于LRU算法(转载)

      原文地址: http://flychao88.iteye.com/blog/1977653 http://blog.csdn.net/cjfeii/article/details/47259519 ...

  4. wx小程序知识点(六)

    六.生命周期 (1)onLoad    —— 加载时触发,只调用一次,可用来发送请求绑定数据.获取url中参数 (2)onShow   —— 页面显示时触发,每次显示都会执行,用来获取需要频繁更新的数 ...

  5. python 文件定位

    tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后. seek(offset [,from])方法改变当前文件的位置.Offset变量表示要移动的字节数.F ...

  6. python 数据库插入操作

    数据库插入操作 以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录: #!/usr/bin/python # -*- coding: UTF-8 -*- import MyS ...

  7. JS大文件上传断点续传解决方案

    1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...

  8. C语言 - 堆和栈

    一.堆内存 1.就是程序员手动管理的一块内存,在C语言中,可以理解为用malloc.realloc等申请空间的一些函数,这些函数所申请的空间就是堆空间 2.C语言中,堆空间是申请和释放 malloc/ ...

  9. ASE高级软件工程 第一次结对作业

    黄金点游戏Bot Bot8前来报道 1.问题定义 a) 问题描述 N个玩家,每人写一个0~100之间的有理数 (不包括0或100),提交给服务器,服务器在当前回合结束时算出所有数字的平均值,然后乘以0 ...

  10. codevs 1405 牛的旅行x

    牛的旅行 [问题描述] 农民John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧场不连通.现在,John想在农场里添加一条路径 ...