从源码与官方文档看之Handle篇(一)

简介: 之前的文章实在太肤浅,写出来其实很多都没有太大帮助,所以我们另起一个系列“从源码与官方文档看”。

前言

之前的文章实在太肤浅,写出来其实很多都没有太大帮助,所以我们另起一个系列“从源码与官方文档看”。这一篇我们为Handle从源码与官方文档与注释上开个篇章,事先声明,本人还是半吊子,所以可能很多地方出现错误,欢迎指正。

正篇

首先我们看看官方对Handle的注释:

A Handler object takes log messages from a Logger and exports them. It might for example, write them to a console or write them to a file, or send them to a network logging service, or forward them to an OS log, or whatever.
A Handler can be disabled by doing a setLevel(Level.OFF) and can be re-enabled by doing a setLevel with an appropriate level.
Handler classes typically use LogManager properties to set default values for the Handler's Filter, Formatter, and Level. See the specific documentation for each concrete Handler class.
Since:
1.4

呃,英文不太好,但结合谷歌翻译大致还是能看明白,大意就是Handle这个对象呢,可以从Logger日志那获取日志消息并且还能输出他们,而且输出的地方很多,比如什么控制台还有文件以及网络日志服务与操作系统等,还说了这个特点的一些控制方式与方法。这一通解释我只能说不愧是官方和Google翻译,我反正不是特别理解。

但因为通常意义上我们用Handle一般就是:

Handler是更新UI界面的机制,也是消息处理的机制。我们可以通过Handle发送消息,也可以处理消息。

所以这个注释应该也是想说明Handle的消息处理的原理。

接着我们继续看Handle的具体代码:

public abstract class Handler {
    private static final int offValue = Level.OFF.intValue();
    private final LogManager manager = LogManager.getLogManager();

很好,我们看到了注释文档一开始给我们的设置方法中的要素,第一offValue是用于setLevel()方法的,而这个方法中要传参就有Level.OFF这个选择,而: 我们可以通过执行 setLevel(Level.OFF) 来禁用处理程序,并且可以通过执行具有适当级别的 setLevel 来重新启用处理程序。

网络异常,图片无法展示
|

此外,文档一开始也说明了:处理程序类通常使用 LogManager 属性来设置处理程序的过滤器、格式化程序和级别的默认值。

(未完待续)

相关文章
|
测试技术 Go
Go 源码解读|如何用好 errors 库的 errors.Is() 与 errors.As() 方法
写作这篇文章的原因是我在写单元测试的时候,有时会调用 Go 的 errors 库中 errors.Is() 和 errors.As() 方法,借此做一个分析总结。
299 0
Go 源码解读|如何用好 errors 库的 errors.Is() 与 errors.As() 方法
|
安全 API 调度
从源码与官方文档看之Handler篇(十)
每次阅读源码,我都想着许多过往云烟,可以说,一切不在一样,不过,想再多又如何,倒不如按下心思,在手中记下这一切更为妥当。还是看看这些充满智慧结晶的源码吧!
106 0
从源码与官方文档看之Handler篇(七)
接下来就是我们可以正常调用的Handler类方法了,希望早日完成Handler类的源码阅读。
|
安全
从源码与官方文档看之Handle篇(二)
上一篇我们根据官方注释解读Handle的一些基本属性,这一篇我们接着慢慢阐述。
|
安全
从源码与官方文档看之Handle篇(三)
我们继续看看源码,来一步步去深入Handle,去熟悉那些我们平时用得到和用不到的属性与特点。结合到我们开发工作中,看看我们取用了它哪些好用的地方。
|
安全 Android开发
从源码与官方文档看之Handle篇(四)
今天的工作挺忙的,又要接接口,又要修Bug,还要完成需求。晚上家里又有一些事情忙活,所以我们废话不多说,直接进正题。
115 0
从源码与官方文档看之Handler篇(五)
尽管前路坎坷,可我们还是继续走了下去,一转眼已经又到了第五篇了,每篇内容较少,所以后面整理完时,会汇总成一篇文章,相信这样做会更具有可读性。
|
消息中间件 Android开发
从源码与官方文档看之Handler篇(九)
今天我们来详细看看Handler的post()方法吧
112 0
从源码与官方文档看之Handler篇(三)
前面我们说到dispatchMessage方法,今天我们继续往下看源码。
130 0
|
安全
从源码与官方文档看之Handler篇(四)
上回我们说到第一个Handler类的含有控制是否异步执行的构造函数,今天我们继续往下阅读,相信能更清楚的了解Handler类的机制。