日志

日志(log)是由 Fuchsia 程序发出的时间顺序的诊断数据流。它们最常采用面向人类的文本字符串的形式,描述子系统中的状态变化。

参阅记录以获取关于 Fuchsia 软件如何撰写日志的更多信息。

参阅查看以获取关于如何查看记录的日志的更多信息。

参阅添加 LogSink 连接属性以获取关于 Fuchsia 如何辨认每条日志消息生成者的更多信息。

内容

日志记录(log record)拥有一些元数据,它们多是由生成日志的程序自行报告的。消息(即前文的“记录”)至少拥有时间戳和字符串内容。

如果一条消息被写入了 LogSink(“日志槽”)协议,那么它还有一个严重性(severity)、一个PID、一个TID、一些先前的丢弃的日志和一个字符串标签的列表。

除非组件的父界(realm)提供了自己的 LogSink,否则诊断还会包含用于传入日志连接的的可信 SourceIdentity(源身份)元数据。该信息用于为无标签信息提供默认标签。

存储

目前,所有日志的存储按照先进先出(FIFO,first-in-first-out)的方式轮换,新消息会覆盖掉旧消息。来自任何组件的消息可以推出来自任何其他组件的消息。当前对于消息何时被推出其缓冲区的追踪非常有限。

易失

Fuchsia 设备上有两个针对日志的内存存储区(in-memory store):

注意:如果您无法找到某些日志,那么可以参阅记录日志,以查明哪个缓冲区是您消息预期的传输点。当您知道位置后,请参阅查看日志。

持久

反馈数据(feedback data)组件维护来自上次启动消息的持久磁盘存储区。这些消息在运行 fx snapshot 时出现。