as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
“日志记录控制CLI” (LoggingCtl) 是一个命令行界面 (CLI) 工具,用于管理、查看和测试Vega设备上的日志记录数据。它还提供对存储在设备上的崩溃报告(ACR文件)的访问权限。要访问loggingctl命令,您必须使用vega exec vda shell命令进入Vega设备的Shell。 此工具可以帮助您进行以下操作:
  • 通过实时日志监控调试应用问题。
  • 为不同的进程配置日志记录级别和速率。
  • 访问和分析存储的日志和崩溃报告。
  • 管理日志存储和保留。
  • 通过诊断数据调查系统问题。

安装新应用后,启动或重新启动LoggingCtl

LoggingCtl可根据会话启动时安装的应用来确定日志权限。在LoggingCtl开始之后安装的应用不会显示日志,直到您重新启动LoggingCtl会话。

基本用法

配置命令

使用loggingctl config命令控制应用的日志记录行为。

重置配置

要将日志配置重置为默认值,请执行以下操作:
  1. 对于速率限制: 将速率设置回默认值 (1000):
  2. 对于日志级别: 将级别设置回默认值 (info):
  3. 要在系统范围内应用更改(更改比率或级别后需要),请执行以下操作: 重新启动日志服务:

日志命令

使用loggingctl log命令查看来自systemd-journald的内存日志,或从存储数据中查看日志。 默认情况下,loggingctl log命令仅显示当前会话的日志。要查看较早前的日志,请使用Vega虚拟设备上的--boot选项。对于Fire TV Stick,使用loggingctl vault命令查看之前的日志。

查看日志时的推荐筛选

对于React Native和JavaScript开发者,请使用程序包ID筛选 (-v) 查看来自您的特定应用的日志:
要停止跟随日志,请按Ctrl+C。 如果您应用的日志未显示: LoggingCtl仅检测在会话开始之前安装的应用。如果您在启动LoggingCtl后安装了应用,请重新安装该应用并重新启动会话:
  1. 手动安装应用:
  2. 启动LoggingCtl:
  3. 使用vmsgr send启动应用:

JavaScript日志注意事项

在Vega应用中使用JavaScript日志时: 推荐的方法:使用console.*方法进行正确的日志级别筛选:

支持的参数关键字

--priority、--facility、--since、--until和--output-format命令接受特定的关键字:
  1. 优先级别 - 使用--priority通过设置优先级别来控制日志可见性。这样会筛选日志输出以仅显示指定的优先级别,从而帮助您专注于来自组件或其他进程的日志。
    • emerg - 系统不可用,映射到:
      • APMF_LOG(…, FATAL)
    • alert - 必须立即采取行动
    • crit - 危急状态,映射到:
      • LOG_F(FATAL)
      • LOG_S(FATAL)
    • err - 错误状态,映射到:
      • APMF_LOG(…, ERROR)
      • LOG_F(ERROR)
      • LOG_S(ERROR)
      • console.error() (JavaScript)
    • warning - 警告状态,映射到:
      • APMF_LOG(…, WARNING)
      • LOG_F(WARNING)
      • LOG_S(WARNING)
      • console.warn() (JavaScript)
    • notice - 正常但重要的状况
    • info - 信息性消息,映射到:
      • APMF_LOG(…, INFO)
      • LOG_F(INFO)
      • LOG_S(INFO)
      • console.log()JavaScript)
    • debug - 调试级别消息,映射到:
      • APMF_LOG(…, DEBUG)
      • LOG_F(DEBUG)
      • LOG_S(DEBUG)
  2. 时间规范 - 使用--since或--until按时间筛选日志:
    • 关键字:now、yesterday、today和tomorrow
    • 时间格式:
  3. 使用--output-format的输出格式: a. short_concise(默认)
    示例:
    b. short_precise
    示例:
对于Vega程序包,LoggingCtl使用_CMDLINE而不是SYSLOG_IDENTIFIER来显示程序包URL来源。使用-v(程序包ID)筛选对应用的日志进行筛选,这是最可靠的方法。 示例:

vault命令

使用loggingctl vault命令来管理和访问smartboxd保管库系统。

访问崩溃报告(ACR文件)

使用vault命令列出和检索存储在设备上的崩溃报告文件 (ACR)。有关ACR文件的背景以及如何对其进行符号化,请参阅应用崩溃报告符号化。

列出可用的ACR文件

要查看设备上的所有ACR文件:
输出在显示文件名时使用格式<索引>#crash_<时间戳>_<uid>_<gid>_<pid>_<信号>_<二进制文件>.acr:
#前面的数字是用于检索文件的索引。文件名编码:

获取ACR元数据

要以JSON格式获取所有ACR文件的详细元数据:

获取最新的崩溃指数

检查ACR文件大小

检索ACR文件

使用带有构件类型SYSTEM_TOMBSTONE和索引号--cat:
这会将原始ACR文件内容输出到stdout。

保存ACR文件

要将ACR文件保存到设备文件系统,请重定向--cat的输出:

示例:检索崩溃报告

ACR访问命令参考

权限结构

LoggingCtl通过默认权限和组件shell权限实现基于角色的访问控制。在默认模式或组件shell模式下运行时,您可以访问一下信息:
  • 索引操作 - 跟踪和管理日志索引:
    • --last-index - 查看最新的日志条目索引
    • --get-index-stats - 获取有关当前日志索引的统计信息
  • 内容访问 - 对以下项使用--cat查看日志:
    • 您的特定于组件的日志
    • 侧载的程序包日志
    • 系统进程:stemd、lcm_service、inputd和相关服务
  • 信息列举操作 - 使用以下命令查看工件信息:
    • --ls - 列出可用日志
    • --json-dump - 导出元数据
    • --size - 检查工件文件大小
    • --storage - 检查保管库总存储空间或特定工件存储空间
所有列举操作均适用于main、system、SYSTEM_TOMBSTONE和ACR_REPORT。

访问被拒绝

当您尝试未经授权的操作或尝试访问特权数据时,您会看到拒绝响应:

日志访问限制

LoggingCtl限制对以下日志类型的访问:
  • 侧载的组件日志
  • 守护程序设施日志
  • 系统组件包括stemd、acr_core_dump、lcm_service、servicergrd、pkgmgrd和inputd。

相关主题


最后修改于 2026年10月26日