androidstudio看到不到log日志_为什么移动应用程序开发人员不使用日志?

我们来看看为什么日志在移动应用程序开发中不像在其他类型的软件开发中那样普遍。

注重的重要性和正确的移动应用程序在一个具有挑战性的流动风景日志记录,有效的软件开发生命周期的好处。

b05d62c6047b2e22ef6505a0e6accec0.png

介绍

在软件开发领域,当开发人员想要理解为什么某些东西在他们开发的程序中不起作用时,首先要看的是日志。日志为开发人员提供了“幕后”视图,了解程序运行时代码发生的情况。

问题是,在移动应用开发中,开发人员没有使用应用日志来分析应用问题。有些甚至在生产之前删除它们,例如,在Android中,他们使用“proguard”来删除日志。

日志的意义

在我们开始解释移动应用程序开发人员不使用日志的原因之前,让我们来看看日志的重要性。

日志的重要性分为开发阶段和部署(QA /阶段/生产)阶段。

发展阶段

在发展领域,有两个矛盾的哲学:

  • 将日志用于所有内容 - 每当您想知道代码发生了什么时,只需添加日志即可。而且你将能够轻松地看到发生的事情的全部流程。
  • 为一切使用调试器 - 调试器提供的信息远多于日志。日志也使用资源。

事实通常在中间的某个地方。

毫无疑问,现代IDE具有出色的调试器。跟踪代码的需求比以前少得多。使用断点,您可以在需要的地方停止并获取程序当前状态的所有信息。

调试器的问题在于您只能前进,在调试的地方之前看不到内容。你可以重新运行整个程序。但很多时候,查看日志并查看究竟发生了什么更快。

使用日志,您可以从问题所在的位置获得概述。有时你不知道从哪里开始寻找。在这种情况下,添加一些日志并使用它来查找代码中问题的位置要容易得多。找到位置后,您可以继续使用调试器进行调试。

在多线程的情况下,使用调试器有时可能是一场噩梦。您无法进入新线程,因为它不是下一步。有时程序流程甚至会因为您正在调试而发生变化。

部署(QA /分期/生产)阶段

在部署阶段,与开发阶段不同,没有使用日志的真正替代方案。

每当在部署期间发生问题时,了解实际情况的唯一方法是日志。有了它,您可以看到问题发生时代码的作用。

它还向开发人员显示存在问题。如果您收到错误/警告,您需要了解它为什么会发生。您并不总是注意到存在问题,但是日志会显示存在需要处理的问题。

日志级别也很重要。在警告和向上的阶段中具有日志级别,可能会在出现问题时向您显示,但无法帮助您分析问题的根源。因此,应该有一种方法可以轻松地更改配置,以便能够在资源成本和获取信息以分析问题之间取得平衡。

移动应用程序开发人员不使用日志的原因

移动应用程序开发人员不使用日志有两个主要原因。

  • 现代应用开发者的DNA。
  • 缺少足够的测井平台。

现代移动应用开发者的DNA

移动开发是一个相对复杂的主题。正在开发服务器的开发人员没有进入移动开发。大多数移动开发人员都将移动开发作为他们的第一份工 大多数应用甚至没有在公司内部开发,而是由软件服务公司开发。

这些开发人员没有其他软件开发领域常见的方法和知识。

由于Android(Android Studio)和iOS(Xcode)IDE是先进的,因此不需要为开发编写日志。一旦应用程序投入生产并出现问题,问题便会出现。然后就没有办法分析它们了。

缺少足够的记录平台

iOS版

默认情况下,您在iOS“ NSLog ”和“ 打印”中。NSLog语句出现在设备的控制台和调试器控制台中,而print只显示调试器控制台中的信息。NSLog还为输出添加时间戳和标识符。由于这些原因,NSLog比打印慢。

从iOS 10开始,有一个新的系统是 os log。与NSLog一样,它添加时间戳和标识符,并显示在设备的控制台和调试器控制台中。此外,您现在可以控制Console应用程序中提供的“子系统”和“类别”字段。您可以指定不同类型的日志消息,如.info,.debug,.error和.fault。

在任何情况下,xcode调试器控制台都是非常基本的。一旦你有很多日志很难找到你需要的东西,没有过滤,你唯一能做的就是根据字符串进行搜索。

这就是许多iOS开发人员更喜欢没有日志的原因。只有在他们处理特定部分的情况下,他们才会添加日志以帮助调试然后删除它们。

最大的问题是,当应用程序进入另一台设备时,iOS开发人员无法远程查看这些日志。

Android的

在Android中, 默认情况下你有 android.util.log。这使得开发人员能够以适当的方式登录,并且在Android Studio中进行开发时,开发人员可以使用logcat为开发阶段提供相对较好的解决方案。您可以使用正则表达式并根据日志严重性搜索它。

因此,大多数Android开发人员都会编写日志。

最大的问题与iOS类似。一旦应用程序进入另一台设备,Android开发人员就无法远程查看这些日志。因此,一些开发人员使用“proguard”删除所有日志,以便在任何情况下都不使用电话资源

移动登录平台应该具备哪些功能?

就像我们看到的那样,默认的iOS和Android日志远非我们所需。他们甚至没有能够远程查看日志或将其上传到您可以查看它们的地方的基础知识。

那么,移动测井平台应该具备哪些功能?

  • 记录为服务/云: 日志应上传到云,开发人员可以随时查看它们。仅在客户投诉时发送信息的系统是不够的,因为您无法在没有用户主动抱怨的情况下看到问题。
  • 会话和基于用户的日志记录:应根据会话和设备保存信息。所有消息都在服务器中没有帮助,但是您无法看到会话或用户的完整流程。
  • 日志分析功能: 应该可以根据日志严重性,操作系统版本,应用程序版本,设备类型,应用程序状态等进行查看和搜索。
  • 日志远程配置: 能够根据当前需要远程关闭和打开日志。应该可以根据严重性和类别(标签)配置哪些日志是打开和关闭的。
  • 日志监视和警报: 应该能够在高级别上监视根据日志查看应用程序的状态,并在系统监视问题时自动发送警报。警报系统应该是自动的。开发人员不应根据他们理解的方式创建警报,这样他们就不会错过他们没想到的事情。
  • 崩溃报告和日志管理: 将这两个工具放在一个地方/一起是很重要的。如果没有以前发生的日志,崩溃报告就不完整。有很多崩溃,你可以在代码中看到导致崩溃的行,但仍然不明白你是如何处理这种情况的。

---

Shipbook使您能够基于每个用户和会话远程收集,搜索和分析云中的用户日志和例外。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值