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(block: 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) } } 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) { if (hyLog.saveFile) { writeLogFile(log, "e", tag) } Log.i(tag, log) } } /** * 将日志写到文件中 */ private fun writeLogFile(log: String, type: String, tag: String) { val dateTime = 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.createNewFile() } file.appendText(myLog, Charsets.UTF_8) } } }
日志工具的使用:
首先在Application的onCreate()中进行初始化设置//设置是否日志工具 HyLog.initLog { showLog = BuildConfig.DEBUG saveFile = BuildConfig.DEBUG logPath = externalCacheDir!!.absolutePath + File.pathSeparatorChar + "mylog.log" }
然后就可以在需要打印日志的地方添加日志了 HyLog.i("MyApp:onCreate()") HyLog.i(log = "MainActivity:onCreate()", tag = "MainActivity")
moom教程如何通过键盘触发基于鼠标的调整大小网格?Moom有两种不同的操作模式一种使用鼠标(绿色按钮弹出),另一种使用键盘(全局键盘快捷键和键盘模式)。根据设计,两者不会混合。例如,如果您想使用绿色按钮调色板的屏幕调整网格,它使用
Mac用户都应该知道的16个终端命令你喜欢用Mac命令行吗?终端就是您使用命令行在Mac上执行命令的方式。通过在Utilities文件夹中找到它或使用Spotlight搜索它来启动终端学习一些简单的命令可以帮助您更好
云计算下半场,都有哪些变化?新网云资讯在C端已然是存量红海的当下,属于B端的云上战争正在进入下半场细分垂直的产业云时代。更具体来看,如果说在之前国内的云计算战场更多的焦点聚焦在互联网本土行业,即数字产业化,那
至少68个西班牙官方机构的电子邮件账户被入侵新网邮箱资讯7月14日,西班牙执法机构逮捕了16名网络犯罪分子,犯罪团伙通过电子邮件欺诈技术将恶意软件安装在目标用户的计算机中,再设法将受害人的资金转移到他们自己的账户上。目前,至
新网企业邮箱如何撤回已发送的邮件?新网邮箱资讯完了,我邮件没抄送完了,我邮件的格式错了完了,邮件发送不能撤回了在每日处理邮件的过程中,你是否出现过邮件发错收件人,重要信息发给不相关用户等等这些问题呢?一旦出现这种情
在职场上,据说邮箱也是有鄙视链的新网企业邮箱资讯无论是秋招网申还是平时投递简历,邮箱都是其中必填的一个选项,但也是容易被忽略的一个细节。不少同学会选择自己平时常用的邮箱作为工作联系邮箱,也有同学会刻意选择163h
WiFiMonitorforMac无限网络管理软件wifi管理软件哪款好?试试这款wifimonitorMac版吧!WiFiMonitormac破解版可以非常方便地帮助我们检测出当前的Wifi连接信息,它可以讲当前的信号强度和噪声
Mac版健身运动软件合集,让你成为更好的自己健身运动软件哪个好?Mac版健身运动软件合集,让你成为更好的自己!自律才能自由,想要保持体形,健康生活,macw小编为你准备了四款好用的健身健美运动软件,让你成为更好地自己!一iS
Mac操作系统版本简史,让我们回到过去几十年来,苹果一直在电脑领域不断发展创新,从1984年的第一个图形用户界面到macOSMonterey,Mac操作系统的历史漫长而多变。当我们按顺序重新访问每个Mac操作系统版本时
在MacOsX遇到不认识的汉字时,你可以这样做!教你输入生僻字中国汉字博大精深,有时候我们经常会遇到一些我们没见过不会读的生僻字,那该怎么办?你是不是要告诉我,找百度!那如果没有网又该怎么办?完全不用这么麻烦,MAC电脑自带的输入法可以很快捷
ZBrush教程ZBrush常用技巧分享任何软件都有一些使用小技巧,当然ZBrush也不例外,使用小技巧能更好的帮我们提高工作效率,节约时间,MacW对ZBrush常用技巧进行了整理,希望能为您在雕刻模型的时候找到更快捷