Java日志---基础(待更新)

本文介绍了Java日志API的基本概念和优势,包括日志记录的灵活性、开销小、定向输出、过滤、格式化等功能,并提供了使用全局日志记录器生成日志的示例。

1.前言

每个Java程序员都很熟悉在有问题的代码中插入一些System.out.println方法调用来帮助观察程序的行为。当然,一旦发现问题的根源,就要将这些print语句从代码中删去。如果接下来又出现了问题,就需要再插入几个调用System.out.println方法的语句。日志API就是为了解决这个问题而设计的。(流下了不学无术的泪水

2.日志的优点

  • 可以很容易地取消全部日志记录,或者仅仅取消某个级别以下的日志,而且可以很容易地再次打开日志开关。
  • 可以很简单地禁止日志记录,因此,将这些日志代码留在程序中的开销很小。
  • 日志记录可以被定向到不同的处理器,如在控制台显示、写至文件,等等。
  • 日志记录器和处理器都可以对记录进行过滤。过滤器可以根据过滤器实现器指定的标准丢弃那些无用的记录项。
  • 日志记录可以采用不同的方式格式化,例如,纯文本或XML。
  • 应用程序可以使用多个日志记录器,它们使用与包名类似的有层次结构的名字,例如,com.mycompany.myapp。
  • 日志系统的配置由配置文件控制。
    : 在Java 9中,Java平台有一个单独的轻量级日志系统,它不依赖于java.logging模块(这个模块包含标准Java日志框架)。这个系统只用于Java API。如果java.logging模块,日志消息会自动地转发给它。第三方日志框架可以提供适配器来接收平台日志消息。我们不打算介绍平台日志,因为开发应用程序的程序员不太会用到平台日志。

3.基本日志

要生成简单的日志记录,可以使用全局日志记录器(global logger)并调用其info方法:
Logger.getGlobal().info(“I got it”);
如果想输出某变量具体的值,也可用如下形式:
int x=-1;
Logger.getGlobal().info(“I got it”+x);
在默认情况下,会如下打印这个记录:(如果没有打印,可能是JDK版本过低,笔者原使用的是Java 7,发现打印不了,换成了Java 14就行了)。 在这里插入图片描述但是,如果在适当的地方(如 main的最前面调用)
Logger.getGlobal().setLevel(Level.OFF);//将会取消所有日志。
在这里插入图片描述
其实吧,这些功能已经能取代我们原来使用的System.out.println()。当然了,日志的功能是非常强大的,如果想解锁日志更多的功能,笔者学完全部内容,彻底理解后会加快更新的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路的苟狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值