问题标签 [oslog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

swift - os_log 故障消息产生“状态转储活动”

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

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

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

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

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

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

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

0 投票
1 回答
64 浏览

swift - 无法在 Swift 上创建 OSLog 活动

我想使用 OSLog 活动来构建我的日志,但我遇到了 Swift 上缺少所需活动常量的问题,例如OS_ACTIVITY_CURRENTand OS_ACTIVITY_NONE,当我尝试创建活动时出现错误:

os.activity框架有没有任何定义的活动常量的描述(但定义了活动标志OS_ACTIVITY_FLAG_DEFAULT, OS_ACTIVITY_FLAG_DETACHED, OS_ACTIVITY_FLAG_IF_NONE_PRESENT):

如果我们查看 ObjC 标头<os/activity.h>,我们可以找到这些常量:

看起来 OSLog 在 Swift 上受到限制,那么如何使用 OSLog 活动或在哪里可以找到常量?

0 投票
1 回答
53 浏览

instruments - os_log Instrument 是否暴露了控制台中不可用的消息?

在 Xcode 11.6 上,我了解到 Instruments 应用程序包含一个“os_log”工具,它揭示了一些可能对调试 CoreML 模型非常有用的信息。当我在 macOS 上对 CoreML 模型运行推理时,我可以看到来自com.apple.coremlcom.apple.espresso子系统的有关创建和运行模型的日志记录。

令我困惑的是,我在控制台应用程序中看不到那些日志消息。

所以我想知道,Instruments 中的“os_log”工具是否提供了其他情况下不可用的日志消息视图?有关于这个仪器的任何文件吗?或者有没有办法配置控制台应用程序——或者更好的是,使用命令行log可执行文件——来查看所有这些可见仪器的消息?

0 投票
1 回答
379 浏览

ios - 在发布版本中禁用 iOS OSLog

我想为我的 iOS 应用程序禁用OSLog (发布版本)。我没有在我的应用程序中使用 OSLog,但我仍然在控制台应用程序中看到一些由苹果框架(如 libnetwork、Corefoundation、SystemConfiguration 等)记录的日志。有没有办法完全关闭应用程序的所有日志?

我将以下值添加到环境变量中,但它仅在我从 XCode 运行应用程序时才禁用日志,但是,当我通过单击应用程序图标启动它时,我仍然在控制台应用程序上看到我的应用程序的 OSLog。

注意:我的应用程序同时使用了 Objective C 和 Swift 编程语言,并禁用了 NSLog(Objective C) 和 print(Swift),我对此没有任何问题。我想为我的发布版本禁用所有日志,包括来自 Apple 框架的日志。

0 投票
1 回答
205 浏览

swift - OSLog Logger 在 XCode Playground 上不起作用:无法查找符号:___dso_handle

我想Logger在 Playground 中测试新的 iOS 14,但我发现了下一个问题:

输出:

与旧的 OSLog API 相同:

可以OSLog和游乐场一起使用吗?

0 投票
1 回答
275 浏览

swift - os_log 调试和发布版本

我在 OS_Log 中使用了以下辅助方法,但我不确定是否有必要。

我想在我的调试版本中记录东西,但不是(必须)在我的发布版本中。

我对编译器是否在 Release 版本中删除 os_log 语句感到困惑

我可以直接使用它并为发布版本剥离日志吗?

我很困惑...

0 投票
0 回答
20 浏览

macos - 如何从分离的硬盘中检索 os_log 消息?

我的守护进程和应用程序使用 os_log() 生成日志消息。不幸的是,运行 macOS Big Sur 的 Mac mini 不再运行,因为它在重新启动时总是进入训练营分区。现在硬盘驱动器已经从 Mini 中取出并运送给我。

电脑运行时,我一般使用log命令来检索日志信息

log show --predicate 'senderImagePath contains "com.mycompany"'

我的问题是,当我将它插入扩展坞时,是否可以从这个特定的硬盘驱动器获取日志消息?目前我不知道该驱动器还有哪些其他可用/可读的卷。如果我能得到日志消息,我想知道我的守护进程是否与崩溃有关。

macOS Big Sur(或 Catalina)将 os_log 数据库保存在哪里?我没有找到任何提到这一点的 Apple 文档,而且我知道它不在 /private/var/log/system.log 中。

0 投票
1 回答
79 浏览

ios - 从 iOS 应用程序中访问使用 os_log 捕获的日志

截至 2021 年,是否可以通过编程方式访问 iOS 应用程序中使用os_log捕获的日志,例如,通过网络发送日志存档?

在我链接的页面上,有一行:

您还可以使用 OSLog 框架以编程方式访问日志消息。

这导致OSLog框架页面,仅在 macOS 10.15+ 上可用。

有什么方法可以在 iOS 上获取日志,而无需将设备连接到计算机并使用控制台应用程序,或者要求用户收集分析并将其邮寄给我们?

0 投票
0 回答
40 浏览

ios - 如何从真实的 iPhone 设备获取持久的日志文件

在我们的 iOS 应用程序中,我们使用 OSLog 来记录各种事件(包括错误),该应用程序是在 iPhone 设备上使用测试飞行分发的。据我们所知,具有日志级别 Notice、Error 和 Fault 的 OSLog 将日志持久化到磁盘中。由于我们有很多上述日志级别的日志,它们必须保存在某个地方,但我无法获得它们的确切存储位置。我的部分问题是,由于我现在无法访问 Mac,并且如果我只使用 iPhone 和应用程序,我可以从 iPhone 中获取应用程序存储的日志吗?可能是用iTunes什么的?或者甚至可以在没有mac的情况下获得它?此外,当我们使用 xcode 在模拟器上测试应用程序时,我期望相同的行为,因为我们正在记录各种事情,mac 或模拟器中的日志文件保存在哪里?确切的路径是什么,虽然我可以在控制台本身上看到所有日志,但我想获取 ios 创建的文件。如果有人可以指导我完成它,这对我们非常有帮助,尤其是关于从真实 iPhone 设备获取日志(无需将其连接到 mac)

谢谢, 普拉内

0 投票
1 回答
63 浏览

ios - 如何在 Xcode 12.5.1 或 Xcode 13 中使用 OSLog?

我已经尝试在 Xcode 12.5 和 13 版本中使用 OSLog 每个文档,但都失败了: 在此处输入图像描述

OSLog 应该如何工作?我看不出我做错了什么。