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日志工具的封装