项目进入开发阶段了,昨天做完了公共的数据库访问层,今天开始做日志框架
原本设想的方案是导入slf4j+logback,结果dalvik转编译没成功。后来又想自己写个日志框架,但是觉得项目时间这么紧,要想很好的解决并发、死锁等问题,时间会比较赶,就放弃了。现在想了一个办法,就是用一个后台的Service,把Log组件记录的日志信息给捞出来,写到文件里
于是先熟悉了一下android的日志框架和logcat命令,在这里总结一下
首先android提供的日志框架的界面很简单,就是一个Log类,里面的方法包括i()、w()、d()什么的,和log4j、logback等常见的日志框架都差不多,这不过Log类做了一些精简,去掉了配置日志格式、路径、父子关系等
只有2个方法需要重点说明一下:
一个是getStackTraceString(Throwable tr),这个方法是传进去一个异常对象,返回一个String的字符串。其实这个方法一般不会直接用到
另一个是w(String tag,String msg,Throwable tr),这个方法比一般的w(String tag,String msg)多传了一个Throwable类型的参数,内部会自动调用上面说的getStackTraceString()方法,把message和异常栈都记录下来。所以在记录异常日志的时候,这个方法是比较好用的
接下来介绍一下logcat命令:
1.adb logcat
这行命令会打印日志信息,并且是阻塞的,有新的日志信息,都会立刻在屏幕上打印出来
2.adb logcat -d
这行命令也是打印日志信息,不同在于,加上-d参数会退回到命令行模式,不阻塞
3.adb logcat -g
这行命令是显示日志缓冲区的大小和位置
4.adb logcat -c
这行命令是清除日志
5.adb logcat -v [brief,process,tag,thread,raw,time,threadtime,long]
这行命令是设置日志的显示格式,一般比较常用的是adb logcat -v time,因为会显示时间
6.adb logcat -d -v time -s [TAG]:[Level]
这行命令是关键了,举个实际例子,adb logcat -d -v time -s MainActivity:I
这个命令会对日志进行过滤,只显示出级别是I以上,并且TAG标签是MainActivity的日志
最后项目记录日志的方式,就采用Log组件进行记录,然后通过logcat命令,把日志信息捞到文件里并保存
PS:Log是在android.util.log包里,原本以为android就只提供了这个日志框架。。。可是刚刚突然又发现,还有一个包java.util.logging,里面也提供了另外一种日志框架,而且似乎比较强大,可以通过FileHandler类,直接把日志信息记录到文件里(Handler就是类似于log4j和logback中appender的组件)。所以还要研究一下,如果这种方式更好的话,可以考虑用这个框架来实现日志
分享到:
相关推荐
shell 脚本抓取android logcat和kernel log,以及删除旧的log,通过prop控制输出规则
alogcat android app 读取/显示logcat信息。
在Android界面上显示和获取Logcat日志输出 在Android界面上显示和获取Logcat日志输出
Eclipse老是Log找不到,是不是很让人不爽,虽然Android Studio的Logcat功能很不错,但也没有在命令行terminal中打印出来更方便。 使用 logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] ...
雨松MOMO带你做软件 Android软件开发之程序中时时获取logcat日志信息 黄英大家下载阅读 哇咔咔~~
兼容 Android Studio 3.1.0 的 Logcat 完美显示日志 兼容 Kotlin 可设置 Log 开启和关闭 可设置是否输出到控制台(Logcat) 可设置 Log 全局 Tag 全局 Tag 为空时 Tag 为当前类名 可设置 Log 是否显示头部信息 Log ...
事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示: Log.v() -------------------- VERBOSE Log.d() -------------------- DEBUG...
Android日志工具,支持Logcat输出和文件记录(可自定义大小,默认0.1M),两种显示方式都可以配置是否需要显示
LogCat是Android中一个命令行工具,可以用于得到程序的log信息,本附录讲解其使用方法和其中的一些技巧。
OkHttp的请求拦截器,实现请求拦截,打印日志到logcat,链接已经拼接好
Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志......
一、在 Java 与 C 语言中输出日志:1) Java 代码在程序中输出日志, 使用 android.util.Log 类的以下 5 个方法: Log.v()、Log.d()、Log.i()、Log.w()、Log.e()。 分对应 Verbose、Debug、INFO、Wa
平常工作经常用adb logcat >log.log这个命令抓log,抓出来都是文本文件,logcat又不能重读文件来查看,动辄log都是上万行查个有用的log很是费劲。 今天实在忍不住了,摆弄了一下java写了这个小程序来查看log,也希望...
一个收集 app 输出日志的工具,输出文件:模拟器是 /sdcard/Android/data/项目包名/cache/,真机是 /Android/data/项目包名/cache/,里面的 crash 目录是崩溃日志,log 目录是 logcat 日志。 如何使用 在 module ...
android log 查看工具,告别 adb logcat ,对log分析henyou希望能帮助到大家,谢谢!!!
Android开发中LogCat工具的使用;LogCat是Android中一个命令行工具,可以用于得到程序的log信息,本附录讲解其使用方法和其中的一些技巧。
Android log抓取工具,包含 logcat bugreport trace等
Android开发中LogCat工具的使用
005_android 之DDMS中logcat的使用视频教材,讲解的比较详细,有兴趣的可以学习下哦。
NULL 博文链接:https://mtj13617254943-126-com.iteye.com/blog/1004521