上一篇我们简单的介绍了一下RoboGuice的使用(【十二】注入框架RoboGuice使用:(Your
First Injected ContentProvider)
),今天我们来看下Log日志使用。

Android应用通过会使用内置的android.util.log在Android控制台上面打印日志信息。RoboGuice也提供了另外的日志管理,你可能会想要使用。

(一):  RoboGuice日志管理和通常的Log差点儿相同。但也相同具备下面长处:

①:对于公布包来说,Debug and verbose日志会自己主动不显示。

②: 应用程序名字,文件,日志行信息,时间戳,线程以及其它实用信息都会自己主动记录(为了提高性能当中一些信息能够禁用显示)。

③:因为使用了可变參数,禁用日志显示提高性能。假设你常常使用debug or verbose logging,这个能够提高性能。

④:你能够在要使用日志的地方进行覆盖写入格式化的日志消息

(二): 一些简单的样例

    Ln.v("hello there");
Ln.d("%s %s", "hello", "there"); // varargs
Ln.e( exception, "Error during some operation"); // Throwables go at the FRONT!
Ln.w( exception, "Error during %s operation", "some other");
Ln.v("hello there, ", "Mr. Invisible"); // ERROR, Mr. Invisible will never display

(三):常见的陷进错误

Ln和Log的语法略有基础不同,要注意下面几点:

①:在调用的时候确保首先增加exception信息,一个常见的错误是在最后进行android.util.Log转换, 后边放入varargs
parameter。

②:可变长度參数不会加入到日志消息中。你比把%s或者其它类似格式參数插入到日志消息中。假设你忘记该參数将会是失效错误。

(四):改变日志习惯

有些APP可能须要考虑把日志保存到默认位置而不是直接在Android 控制台上面打印。比如:你可能须要把日志保存下来用于异常错误分析。

为此你仅仅须要实现Ln.Print的子类,确定绑定到子模块。须要注意的是Ln不会进行日志回滚的操作,所以当进行写文件的时候要主要设备的存储空间满的情况。你也能够重写Print方法来输出有格式的日志。要记住重写Print方式一个全局的改更改,任务相关性Ln该代码将使用此日志Print办法。

版权声明:本文博主原创文章。博客,未经同意不得转载。

【十三】注入框架RoboGuice采用:(Logging via Ln)的更多相关文章

  1. 【十一年】注入框架RoboGuice采用:(Your First Injection into a Custom View class)

    上一篇我们简单的介绍了一下RoboGuice的使用([十]注入框架RoboGuice使用:(Your First Testcase)),今天我们来看下自己定义View的注入(Custom View). ...

  2. 【四】注入框架RoboGuice使用:(Your First System Service Injection)

    上一篇我们简单的介绍了一下RoboGuice的使用([三]注入框架RoboGuice使用:(Your First Resource Injection)),今天我们来看下系统服务的使用注解的方法: 为 ...

  3. 【十】注入框架RoboGuice使用:(Your First Testcase)

    上一篇我们简单的介绍了一下RoboGuice的使用([九]注入框架RoboGuice使用:(Your First Injected Service and BroadcastReceiver)),今天 ...

  4. 【九】注入框架RoboGuice使用:(Your First Injected Service and BroadcastReceiver)

    上一篇我们简单的介绍了一下RoboGuice的使用([八]注入框架RoboGuice使用:(Your First Injected Fragment)),今天我们来看下服务(Service)和广播接受 ...

  5. 【七】注入框架RoboGuice使用:(Your First Custom Binding)

    上一篇我们简单的介绍了一下RoboGuice的使用([六]注入框架RoboGuice使用:(Singletons And ContextSingletons)),今天我们来看下自己定义绑定(bindi ...

  6. 【三】注入框架RoboGuice使用:(Your First Resource Injection)

    上一篇我们简单的介绍了一下RoboGuice的使用([二]注入框架RoboGuice使用:(Your First View Injection)),今天我们来看下资源文件的使用注解的方法: 为了在Ac ...

  7. 【八】注入框架RoboGuice使用:(Your First Injected Fragment)

        上一篇我们简单的介绍了一下RoboGuice的使用([七]注入框架RoboGuice使用:(Your First Custom Binding)),今天我们来看下fragment的注解     ...

  8. 【六】注入框架RoboGuice使用:(Singletons And ContextSingletons)

    上一篇我们简单的介绍了一下RoboGuice的使用([五]注入框架RoboGuice使用:(Your First POJO Injection)),今天我们来看下单例以及上下文单例(ContextSi ...

  9. 【十二】注入框架RoboGuice使用:(Your First Injected ContentProvider)

    上一篇我们简单的介绍了一下RoboGuice的使用([十一]注入框架RoboGuice使用:(Your First Injection into a Custom View class)),今天我们来 ...

随机推荐

  1. Linux SSH端口转发

    SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道.一直是远程端口转发.SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发. 本地端口转发     假定有三台主机A. ...

  2. Java集群--大型网站是怎样解决多用户高并发访问的

    时间过得真快,再次登录博客园来写博,才发现距离上次的写博时间已经过去了一个月了,虽然是因为自己找了实习,但这也说明自己对时间的掌控能力还是没那么的强,哈哈,看来还需不断的努力啊!(这里得特别说明一下本 ...

  3. LVS+Keepalived实现高可用负载均衡(转)

    LVS+Keepalived实现高可用负载均衡   一.原理         1.概要介绍         如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具 ...

  4. win7下硬盘安装win7+linuxUbuntu双系统方法

    Linux安装大致介绍: win7下硬盘安装win7+linuxUbuntu双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. 系统选择 linux unbuntu12.04.2-desk ...

  5. error U1087: cannot have : and :: dependents for same target

    windows驱动开发遇到错误: 1>e:\winddk\7600\bin\makefile.new(7117) : error U1087: cannot have : and :: depe ...

  6. vim netrw

    我们现在试一下vim文件功能,当你使用vim尝试打开目录时,vim会自动调用netrw.vim插件打开该目录(从操作系统的视角来看,目录其实是一种特殊的文件).例如,我们在vim中执行命令”:e -/ ...

  7. 八月份 CUGBACM_Summer_Tranning 题解

    CUGBACM_Summer_Tranning4 比赛链接:http://vjudge.net/contest/view.action?cid=52230#overview 题解链接: F . HDU ...

  8. 用python调用R做数据分析-准备工作

    0.R的介绍 R是自由软件,不带不论什么担保.在某些条件下你能够将其自由散布,用'license()'或'licence()'来看散布的具体条件. R是个合作计划.有很多人为之做出了贡献,用'cont ...

  9. WPF换肤之二:可拉动的窗体

    原文:WPF换肤之二:可拉动的窗体 让我们接着上一章: WPF换肤之一:创建圆角窗体 来继续. 在这一章,我主要是实现对圆角窗体的拖动,改变大小功能. 拖动自绘窗体的步骤 首先,通过上节的设计,我们知 ...

  10. Scala Hello 示例

    object ScalaDemo1 {   def main(args: Array[String]) {     println("Hello,world!");   } }