对Android JDK日志总结之谈
创始人
2024-06-22 21:31:19
0次

Android JDK日志可以促使移动设备的创新,让用户体验到***越的移动服务,同时,开发商也将得到一个新的开放级别,丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件。

由该类可见,Android JDK日志抽象类提供了抽象接口:publish, flush 和 close .这些接口提供了日志输出的基本功能。同时 Handler 类保存了 Formatter,Filter 和 Level 对象用来控制日志输出。因此,编写自定义的 Handler 类需要如下步骤:

1、继承 Handler 抽象类

2、实现 publish,flush 和 close 方法。其中 publish 方法是用于发布一条日志记录。 flush 方法是清空内存缓冲区。 close 方法是当应用程序关闭的时候,释放该 Handler 类所申请的资源(如文件,socket 等)

3、设置默认的 Formatter,Filter 和 Level 对象。必要的时候,可以在类的初始化时候读取配置文件来设置这些参数。

  1. public class MyFormatter extends Formatter {   
  2. private final String lineSeparator = System.getProperty("line.separator");   
  3. @Override   
  4. public String format(LogRecord record) {   
  5. StringBuffer sb = new StringBuffer();   
  6. String message = formatMessage(record);   
  7. sb.append(record.getLevel().getLocalizedName());   
  8. sb.append(message);   
  9. sb.append(lineSeparator);   
  10. if (record.getThrown() != null) {   
  11. try {   
  12. StringWriter sw = new StringWriter();   
  13. PrintWriter pw = new PrintWriter(sw);   
  14. record.getThrown().printStackTrace(pw);   
  15. pw.close();   
  16. sb.append(sw.toString());   
  17. } catch (Exception ex) {   
  18. }   
  19. }   
  20. return sb.toString();   
  21. }   
  22. }  

这里 reportError 方法是将日志类中的错误信息输出到外界,这个是由 ErrorManager 类实现的ErrorManager 类负责记录日志框架中 Handler 的错误。一般情况下是将该错误打印到控制台中。

具体的每条日志消息被Android JDK日志框架封装成 LogRecord 对象,该类部分定义如 清单所示。由清单可见,LogRecord 类包含了一个日志消息的级别、消息文本、时间、参数、线程等等所有的信息,这些都交给 Handler,Formatter 和 Filter 这些对象来处理。

同时该类也是可序列化的,可以序列化到网络和文件中。该类还可以和一个 ResourceBundle 对象绑定,实现消息字符串的本地化处理。描述了一个典型的自定义的 Handler 类的实现。在本文后面部分将会有一个实际的例子来介绍如何实现一个Android JDK日志处理类。

【编辑推荐】

  1. Android应用程序组建原理深入剖析 
  2. Android SMS短信服务相关概念简述 
  3. PythonAndroid数据库相关代码解读 
  4. PythonAndroid安装卸载程序具体操作方法解析 
  5. Android应用程序的四个关键点 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...