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

简介: 上一篇我们根据官方注释解读Handle的一些基本属性,这一篇我们接着慢慢阐述。

正篇

首先我们接着看下面官方给Handle的一些参数:

// We're using volatile here to avoid synchronizing getters, which
// would prevent other threads from calling isLoggable()
// while publish() is executing.
// On the other hand, setters will be synchronized to exclude concurrent
// execution with more complex methods, such as StreamHandler.publish().
// We wouldn't want 'level' to be changed by another thread in the middle
// of the execution of a 'publish' call.
private volatile Filter filter;
private volatile Formatter formatter;
private volatile Level logLevel = Level.ALL;
private volatile ErrorManager errorManager = new ErrorManager();
private volatile String encoding;

依次来看,他们分别是 注释说了一些条件前提与理由:说使用 volatile 来避免同步 getters;阻止其他线程调用 isLoggable();当 publish() 正在执行时;setters 将被同步以排除并发;推荐使用更复杂的方法执行,例如 StreamHandler.publish();官方还不希望 'level' 被中间的另一个线程改变;要在执行“发布”调用

1.过滤器 用于Logger和Handler控制日志级别

2.格式化 可以用于格式化LogRecords

3.日志级别标签

4.错误管理  翻译的大意就是这是可以附加到 Handlers 用于处理 Logging 期间发生在 Handler 上的任何错误。

在处理日志输出时,如果 Handler 遇到问题,则 Handler 应该调用其关联的 ErrorManager,而不是向日志调用的发出者抛出异常。

5.编码  没找到官方的解释,所以暂时先搁置一下,额,我们继续往下看

// Package private support for security checking.  When sealed
// is true, we access check updates to the class.
boolean sealed = true;

这个属性根据翻译来看,大意是为安全检查打包私有支持。 密封时。

且该属性为真的时候,我们就可以访问检查更新类。

(未完待续)

小结

我们已经看完了方法之前的一些变量和方法引用,下一篇将开始具体讲述方法的实现。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
JSON 安全 数据安全/隐私保护
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
20 0
|
2天前
|
JSON 安全 数据安全/隐私保护
iOS Class Guard github用法、工作原理和安装详解及使用经验总结
iOS Class Guard github用法、工作原理和安装详解及使用经验总结
60 0
|
安全
从源码与官方文档看之Handle篇(三)
我们继续看看源码,来一步步去深入Handle,去熟悉那些我们平时用得到和用不到的属性与特点。结合到我们开发工作中,看看我们取用了它哪些好用的地方。
|
安全 Android开发
从源码与官方文档看之Handle篇(四)
今天的工作挺忙的,又要接接口,又要修Bug,还要完成需求。晚上家里又有一些事情忙活,所以我们废话不多说,直接进正题。
|
监控
从源码与官方文档看之Handle篇(一)
之前的文章实在太肤浅,写出来其实很多都没有太大帮助,所以我们另起一个系列“从源码与官方文档看”。
|
Java Android开发
从源码与官方文档看之Handler篇(二)
今天又发现自己原来是Handler这个类名打错了导致前面几篇一直再说Java的Handle,而安卓的是Handler,前一篇文章我们主要翻译了安卓官方对Handler的注释,这一篇我们来看看Handler类的一些属性,成员变量。
|
安全 API
从源码与官方文档看之Handler篇(六)
今天继续看Handler类,构造方法已经基本全部看完,后面应该是一些类的一般方法之类的内容了,继续加油。
|
安全
从源码与官方文档看之Handler篇(四)
上回我们说到第一个Handler类的含有控制是否异步执行的构造函数,今天我们继续往下阅读,相信能更清楚的了解Handler类的机制。
|
消息中间件 Java 调度
从源码与官方文档看之Handler篇(一)
好家伙,写了四篇文章才发现自己看源码的Handle所属的包不一样
|
消息中间件 Android开发
从源码与官方文档看之Handler篇(九)
今天我们来详细看看Handler的post()方法吧