客户端日志收集

improve this page | report issue

概述

日志记录是对源代码的检测,其使用 API 调用来记录消息以促进诊断和调试。 IBM Mobile Foundation 针对此目的提供一组日志记录 API 方法。

MobileFirst Logger API 类似于常用的记录器 API,例如,console.log (JavaScript)、java.util.logging (Java) 和 NSLog (Objective-C),并且提供永久捕获所记录数据的额外功能,以将数据发送到 MobileFirst Server,用于分析收集和开发人员检查。使用 Logger API 在相应的级别报告日志数据,以便检查日志的开发人员可以对问题进行分类并修复问题,而无需在其实验室中重现问题。

可用性

MobileFirst 提供的 Logger API 方法可用于 iOS、Android、Web 和 Cordova 应用程序。

日志记录级别

日志记录库一般具有通常称为级别的详细程度控件。
日志记录级别按详细程度从高到低排列如下:

  • 跟踪 - 用于方法入口点和出口点
  • 调试 - 用于方法结果输出
  • 记录 - 用于类实例化
  • 参考 - 用于报告初始化
  • 警告 - 用于记录不推荐的用法警告
  • 错误 - 用于意外的异常情况
  • 严重 - 用于不可恢复的崩溃或挂起

注:使用“严重”将导致收集应用程序崩溃。为避免偏离应用程序崩溃数据,不建议使用此关键字。 缺省情况下,按“严重”详细程度配置客户机 SDK,这意味着很少或不输出或捕获原始调试日志。您可以编程方式调整详细程度,或者通过在 MobileFirst Analytics Console 上设置配置概要文件(必须由应用程序显式检索)进行调整。

来自客户机应用程序的日志记录:

调整日志详细程度

在设置日志记录级别之后,通过设置客户机或检索服务器概要文件,客户机对发送的日志记录消息进行过滤。如果显式发送低于阈值的消息,那么客户机将忽略该消息。

例如,要将详细程度级别设置为“调试”:

iOS

Objective-C

[OCLogger setLevel:OCLogger_DEBUG];

Swift

 OCLogger.setLevel(OCLogger_DEBUG);

Android

Logger.setLevel(Logger.LEVEL.DEBUG);

JavaScript (Cordova)

WL.Logger.config({ level: 'DEBUG' });

JavaScript (Web)

对于 Web SDK,无法从客户机更改缺省跟踪级别。

崩溃捕获

Android 和 iOS 应用程序上的 MobileFirst 客户机 SDK 根据应用程序崩溃捕获堆栈跟踪并记录为“严重”级别。此类型的崩溃是 UI 从用户视图中消失的实际崩溃。在 Cordova 应用程序中,捕获 JavaScript 全局错误,并且如果可能,还捕获一个 JavaScript 调用堆栈,并将其记录为“严重”级别。此类型的崩溃不是崩溃事件,在运行时可能对用户体验造成负面后果,也可能不会。

在重新运行应用程序后,将自动捕获和记录崩溃、未捕获的异常和全局错误。

查看日志

在收集日志并发送到服务器后,在 MobileFirst Analytics Console 中进行查看。从导航栏中选择应用程序面板,然后单击客户机日志搜索选项卡。

搜索和查看日志

Last modified on February 28, 2017