《Java 核心技术卷1 第10版》学习笔记------日志

本文详细介绍了Java日志API的优点,包括日志记录的灵活性、可配置性及过滤功能。通过创建或获取日志记录器,设置日志级别,自定义处理器,过滤器和格式化器等功能,实现对日志的精细化管理。示例代码展示了如何记录不同级别的日志信息,并解释了如何通过配置文件控制日志输出。此外,还提到了日志处理器如ConsoleHandler和FileHandler的使用,以及自定义处理器和过滤器的实现。
摘要由CSDN通过智能技术生成

日志 API 的优点: 

  1.  可以很容易地取消全部日志记录, 或者仅仅取消某个级别的日志, 而且打开和关闭这个操作也很容易 。
  2.  可以很简单地禁止日志记录的输出, 因此, 将这些日志代码留在程序中的开销很小 。
  3.  日志记录可以被定向到不同的处理器, 用于在控制台中显示, 用于存储在文件中等 。
  4.  日志记录器和处理器都可以对记录进行过滤 。 过滤器可以根据过滤实现器制定的标准丢弃那些无用的记录项 。
  5.  日志记录可以采用不同的方式格式化, 例如, 纯文本或 XML 。 
  6.  应用程序可以使用多个日志记录器 , 它们使用类似包名的这种具有层次结构的名字,例如 , com.mycompany .myapp。
  7.  在默认情况下 , 日志系统的配置由配置文件控制 。 如果需要的话, 应用程序可以替换这个配置

基本日志:

要生成简单的日志记录, 可以使用全局日志记录器 (global logger ) 并调用其 info 方法 :
 

    public static void main(String[] args) {

        Logger globalLogger =  Logger.getGlobal(); // 获得全局日志记录器
        globalLogger.setLevel(Level.OFF);   // 关闭日志

        // 记录日志
        globalLogger.info("File-Open menu item selected!");
        // 二月 17, 2019 5:59:09 下午 com.chapter7.LogLearnMain main
        // 信息: File-Open menu item selected!

        globalLogger.setLevel(Level.ALL);   // 开启记录所有类型的记录
        globalLogger.warning("user no login!");

        // 最终输出以下内容:
        // 二月 17, 2019 6:07:55 下午 com.chapter7.LogLearnMain main    [时间、 所在的类名及方法名]
        // 警告: user no login!   [日志级别、日志信息]
    }

高级日志

在一个专业的应用程序中,通常是不会将所有的日志都记录到一个全局日志记录器中,而是可以自定义日志记录器

1. 创建或获取日志记录器

private static final Logger myLogger = Logger.getLogger("com.mycompany.myapp");
/* 未被任何变量引用的日志记录器可能会被垃圾回收。为了防止这中情况的发生,
要像上面的例子中一样,用一个静态变量存储日志记录器的一个引用。
*/

与包名类似,日志记录器也具有层次结构。事实上,与包名相比,日志记录器的层次结构性更强。 对于包来说 , 一个包的名字与其父包的名字之间没有语义关系, 但是日志记录器的父与子之间将共享某些属性 。例如 , 如果对 com.mycompany 日志记录器设置了日志级别 ,它的子记录器也会继承这个级别 ,

通常日志级别有以下七个:【从左到右级别依次降低,详细程度依次增加】

SEVERE、WARING、INFO、CONFIG、FINE、FINER、FINEST

默认情况下只记录前三个级别【即:SEVERE、WARING、INFO】。

2. 更改日志记录级别:

// 更改日志记录级别
logger.setLevel(Level.FINE); // 现在可以记录【SEVERE、WARING、INFO、CONFIG、FIINE】
// 关闭日志记录
logger.setLevel(Level.OFF);
// 开启所有级别
logger.setLevel(Level.ALL);

3. 记录日志

// way 1 
logger.waring(message);    //
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值