Android日志工具的封装
原本我是一个不怎么喜欢写日志,也不怎么喜欢看日志的人。App中我只看网络请求的日志,网络请求的日志一般网络请求的框架中都会有日志打印。崩溃的日志也不需要自己去写。最近的项目中,要用手机连接U盘。手机USB接口被U盘占用了,了解元宵节看不到日志,很烦,崩溃了不知道问题出在哪里。看不到日志怎么办呢?首先我想到的是adb命令,使用网络连接手机,查看日志。这个方法理论上应该是可以的。然而总是连接不到手机。
于是我只能选择自己写日志文件了。
class HyLog private constructor(block: HyLog.() ->
Unit) {
/** * 是否开启日志 */
var showLog:
Boolean =
false
/** * 日志标签 */
var tag =
\"hyjiao\"
/** * 是否保存到文件 */
var saveFile =
false
/** * 日志文件保存的位置 */
var logPath =
init { block() }
companion
object {
private
lateinit
var hyLog: HyLog
fun initLog(bl两个孩子ock: HyLog.() -> Unit) { hyLog = HyLog(block) }
fun v(log: String, tag: String = hyLog.tag) {
if (hyLog.showLog) {
if (hyLog漆字组词.saveFile) { writeLogFile(log,
\"v\", tag) } Log.i(tag, log) } }
fun i(log: String, tag: String = hyLog.tag) {
if初音未来歌曲 (hyLog.showLog) {
if (hyLog.saveFile) { writeLogFile(log,
\"i\", tag) } Log.i(tag, log) } }
fun d(log: String, tag: String = hyLog.tag) {
if (hyLog.showLog) {
if (hyLog.saveFile) { writeLogFile(log,
\"d\", tag) } Log.i(tag, log) } }64卦详解
fun w(log: String, tag: String = hyLog.tag) {
if (hyLog.showLog) {
if (hyLog.saveFile) { writeLogFile(log,
\"w\", tag) } Log.i(tag, log) } }
fun e(log: String, tag: String = hyLog.tag) {
if (hyLog.showLog) {
i有关运动的名言f (hyLog.saveFile) { writeLogFile(log,
\"e\", tag) } Log.i(tag, log) } }
/** * 将日志写到文件中 */
private
fun writeLogFile(log: String, type: String, tag: String) {
val dateT战国名人ime = HyUtil.formatDataTime(System.currentTimeMillis(),
\"yyyy-MM-dd HH:mm:ss.SSS\")
val myLog =
\"$dateTime/$type/$tag:$log \"
val file = File(hyLog.logPath)
if (!file.exists()) { file.c劲怎么组词reateNewFile() } file.appendText(myLog, Charsets.UTF_8) } }}
日志工具的使用:
首先在Application的onCreate()中进行初始化设置
//设置是否日志工具HyLog.initLog { showLog = BuildConfig.DEBUG saveFile = BuildConfig.DEBUG logP认生ath = externalCa湖南湘菜cheDir!!.absolutePath + File.pathSeparatorChar +
\"mylog.log\"}
然后就可以在需要打印日志的地方添加日志了
HyLog .i(\" MyApp :onCreate()\") HyLog.i( log = \"MainActivity:onCreate()\", tag = \"MainActivity\")
更多推荐
Android日志工具的封装
发布评论