java中logger_Java日志系统 简单介绍

一、简单介绍

什么是logger?

  • logger是JDK自带的日志工具类。
  • 在 java.util.logging 包下。

logger的作用?

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

二、 日志消息的级别

(从上往下,级别依次降低,只有显示比当前级别高的日志消息)

  1. SEVERE        严重信息
  2. WARNING        警告信息
  3. INFO(默认级别)      一般信息
  4. CONFIG      设定方面的信息
  5. FINE         细微的信息
  6. FINER     更细微的信息
  7. FINEST         最细微的信息

级别补充:

  • OFF:用来关闭日志
  • ALL:用来启用所有消息的日志记录

三、Logger是如何记录日志的?

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

Handler类
MemoryHandler类 StreamHandler类

SimpleFormatter类:

为日志信息做纯文本形式格式化处理

XmlFormatter类:

为日志信息做XML形式格式化处理

ConsoleHandler类:

将日志消息打印到控制台

FileHandler类:

  • 将日志消息输出到文件
  • 默认格式是XMLFormatter

SocketHandler类:

  • 将日志发送到网络中的某个主机
  • 默认格式是SimpleFormatter

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);

    }

}

四、简单用法 

static Logger getLogger(String name);
//查找或创建一个logger。同一个名称的Logger只能创建一个
static Logger getLogger(String name, String resourceBundleName);
//为指定子系统查找或创建一个logger。

//调试日志,使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类
private final static Logger logger = LoggerFactory.getLogger(xxxController.class);

logger.setLevel(Level level);//设置logger的日志级别

//msg:字符串参数,表示要记录的日志消息
//*args:可变数量的位置参数
//**kwargs:可变数量的关键字参数
logger.debug(msg, *args, **kwargs);//打印调试信息,通常用于诊断问题。
logger.info(msg, *args, **kwargs);//打印一般信息,通常用于输出程序运行状态。
logger.warning(msg, *args, **kwargs);//打印警告信息,通常用于处理非致命错误。
logger.error(msg, *args, **kwargs);//打印错误信息,通常用于处理致命错误。
logger.critical(msg, *args, **kwargs);//打印严重错误信息,通常用于处理导致程序崩溃的错误。

你可能感兴趣的:(java基础,java,jvm,开发语言)