范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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名网络犯罪分子,犯罪团伙通过电子邮件欺诈技术将恶意软件安装在目标用户的计算机中,再设法将受害人的资金转移到他们自己的账户上。目前,至新网企业邮箱如何撤回已发送的邮件?新网邮箱资讯完了,我邮件没抄送完了,我邮件的格式错了完了,邮件发送不能撤回了在每日处理邮件的过程中,你是否出现过邮件发错收件人,重要信息发给不相关用户等等这些问题呢?一旦出现这种情在职场上,据说邮箱也是有鄙视链的新网企业邮箱资讯无论是秋招网申还是平时投递简历,邮箱都是其中必填的一个选项,但也是容易被忽略的一个细节。不少同学会选择自己平时常用的邮箱作为工作联系邮箱,也有同学会刻意选择163hWiFiMonitorforMac无限网络管理软件wifi管理软件哪款好?试试这款wifimonitorMac版吧!WiFiMonitormac破解版可以非常方便地帮助我们检测出当前的Wifi连接信息,它可以讲当前的信号强度和噪声Mac版健身运动软件合集,让你成为更好的自己健身运动软件哪个好?Mac版健身运动软件合集,让你成为更好的自己!自律才能自由,想要保持体形,健康生活,macw小编为你准备了四款好用的健身健美运动软件,让你成为更好地自己!一iSMac操作系统版本简史,让我们回到过去几十年来,苹果一直在电脑领域不断发展创新,从1984年的第一个图形用户界面到macOSMonterey,Mac操作系统的历史漫长而多变。当我们按顺序重新访问每个Mac操作系统版本时在MacOsX遇到不认识的汉字时,你可以这样做!教你输入生僻字中国汉字博大精深,有时候我们经常会遇到一些我们没见过不会读的生僻字,那该怎么办?你是不是要告诉我,找百度!那如果没有网又该怎么办?完全不用这么麻烦,MAC电脑自带的输入法可以很快捷ZBrush教程ZBrush常用技巧分享任何软件都有一些使用小技巧,当然ZBrush也不例外,使用小技巧能更好的帮我们提高工作效率,节约时间,MacW对ZBrush常用技巧进行了整理,希望能为您在雕刻模型的时候找到更快捷
Instagram新任产品负责人揭秘电商IGTV深响翻译刘凤仪审校刘语珊这两年Facebook体系内变动频繁。去年年底,Instagram出现了一波高管离职潮,有外界人士猜测,或与Instagram创始团队对Facebook接下Win10分为哪几个版本,他们有何不同Windows10操作系统经过几年的发展,随着稳定性不断增强,已经逐渐被广大用户所接受并成为我们电脑常用的系统。但是你知道吗?Win10分为多个版本,各版本间又有着不同的特性。家庭GooglePixel4采用简约极致设计,你能接受嘛?Pixel3被认为是谷歌智能手机技术的顶峰之作,实际上在2018年就已经用上了最好的智能手机相机,但它留下了很多不尽如人意的地方。首先,Pixel3的顶部和底部仍然有相当厚的挡板,5G网络的到来,各种机遇随之出现,你能把握好这次的创业机会吗?5G网络已经来了,前两天上海的5G网络已经开始正式测试,5G网络已经开始受到人们的追捧,每家手机品牌也开始研发自己的5G手机,三星也已经有消息在4月开始发布全球第一款5G手机,可以6GB128GB大电池降至1088,性价比暴涨,但依旧卖不动!随着手机不断发展后,目前不仅仅是屏幕尺寸越来越大了,而且内存也是越来越大了,尤其是安卓手机,目前安卓旗舰机最高已经来到了12GB,没错比电脑还大了,而机身存储上,最大有1024GB搜狗员工公司靠加班时长裁人王小川回应有种快滚!最近几天也不知道怎么了,有头有脸的大公司名企纷纷出现了离职风波,先是京东排队400人离职,而后被官方辟谣。腾讯T3老员工离职又引起了大家的关注。就在前几天,一名已经认证的搜狗员工也打压国产品牌?三星把NVMeSSD卖出了白菜价这段时间玩DIY的都应当听过三星的PM981SSD吧,得益于它超强的性能和低廉的价格,成为了很多垃圾佬装机的首选。我几天前没有忍住,也入手了一根三星PM981,当时的价格是295元净网2019公安提醒微信里有钱的抓紧打开这个开关,越快越好来源工人日报综合现在很多人买东西都用手机支付,但你知道吗?如果微信里这个功能没打开,你微信钱包里的钱就非常危险了。这个操作,关系到我们的财产安全!现在,小编就手把手教你怎样设置首先华为EMUI9。0升级量突破4000万!新老用户喜迎更新手机中国新闻手机技术日新月异,无论是外观还是硬件的发展都十分迅猛。不过硬件的提升离不开软件上的适配,国产UI近年来发展尤为迅速。在经过了功能补齐阶段美观优化阶段痛点功能解决等时间节要打网红牌却没能做好网红,如涵控股的梦想与现实文林不二子对于身披中国网红电商第一股身份的如涵控股来说,4月3日是具有历史性意义的一天,除了在美国纳斯达克敲了钟,上市首日暴跌37的事迹也传遍行业。倒霉的是,原本这种资本层面的负面领先一步,台积电完成5nm架构设计,早于英特尔三星!芯片是电子设备发展的核心,同样芯片的发展一直都格外地受到广大业界人士和消费者的关注。而此次又有关于芯片的新技术问世。近日,台积电(TSMC)宣布,已经率先完成了基于EUV极紫外微影