【十三】注入框架RoboGuice采用:(Logging via Ln)

          上一篇我们简单的介绍了一下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办法。

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

posted @ 2015-09-30 10:15  zfyouxi  阅读(182)  评论(0编辑  收藏  举报