更多详细专业知识请见:

一、日志

   日志系统框架可以分为日志记录模块和日志输出模块两大部分。日志记录模块负责创建和管理日志记录器(Logger),每一个Logger对象负责按照不同的级别(LoggerLevel)接收各种记录了日志信息的日志对象(LogItem),Logger对象首先获取所有需要记录的日志,并且同步地将日志分派给日志输出模块。日志输出模块则负责日志输出器(Appender)的创建和管理,以及日志的输出。系统中允许有多个不同的日志输出器,日志输出器负责将日志记录到存储介质当中。

二、JDK日志

(实例:)

   简介:

   java(1.4之后)拥有一个设计良好的类集--java.util.logging,通过日志系统来控制、格式化以及发布消息。日志系统功能非常强大,可以设置日志消息的优先级,可以通过过滤器来选择感兴趣的信息。并且消息可以输出到Handler对象能够处理的任意源,如控制台、窗口、数据库、本地文件等等。

   主要类:

·Logger:应用程序进行 logging 调用的主要实体。Logger 对象用来记录特定系统或应用程序组件的日志消息。

·LogRecord:用于在 logging框架和单独的日志处理程序之间传递 logging 请求。

·Handler:将 LogRecord 对象导出到各种目的地,包括内存、输出流、控制台、文件和套接字。

·Level:定义一组可以用来控制logging输出的标准logging级别。可以配置程序为某些级别输出 logging,而同时忽略其他输出。

·Filter:为所记录的日志提供日志级别控制以外的细粒度控制。Logging API 支持通用的过滤器机制,该机制允许应用程序代码附加任意的过滤器以控制 logging 输出。

·Formatter:为格式化 LogRecord 对象提供支持。此包包括的两个格式化程序SimpleFormatter和XMLFormatter分别用于格式化纯文本或 XML 中的日志记录。

三、日志框架log4j

(实例:)

 简介:

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

主要类:

Logger - 日志写出器,供程序员输出日志信息

Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去
ConsoleAppender - 目的地为控制台的Appender
FileAppender - 目的地为文件的Appender
RollingFileAppender - 目的地为大小受限的文件的Appender
Layout - 日志格式化器,用来把程序e员的logging request格式化成字符串

PatternLayout - 用指定的pattern格式化logging requst的Layout

四、SLF4J

简单日记门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过SLF4J提供的API实现来开发相应的适配器如Log4jLoggerAdapter、JDK14LoggerAdapter。