0

我正在开发一个基于支持活动/范围的统一日志系统的记录器,我发现我fault的任何活动都没有捕获具有级别类型的消息:

var os_state = os_activity_scope_state_s()
let os_activity = _os_activity_create(dso, strdup("My Activity"), OS_ACTIVITY_CURRENT, OS_ACTIVITY_FLAG_DEFAULT)
os_activity_scope_enter(os_activity, &os_state)

os_log("fault message", type: .fault) // "My Activity" don't have one

os_activity_scope_leave(&os_state)

后来我找到了我的消息的活动:

16:04:52.978940+0300    libsystem_trace.dylib   0   Activity for state dumps

所以系统为这种消息创建了一个特殊的活动(在 Mac/iOS 上测试)。

但从文档(https://developer.apple.com/documentation/os/oslogtype/2320725-fault):

如果存在活动对象,则此级别的日志记录会捕获整个流程链的信息。

这与error为自定义活动捕获的日志级别相同。

是已知问题还是预期行为?我找不到任何有关的信息。

4

0 回答 0