问题标签 [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.
swift - os_log 故障消息产生“状态转储活动”
我正在开发一个基于支持活动/范围的统一日志系统的记录器,我发现我fault
的任何活动都没有捕获具有级别类型的消息:
后来我找到了我的消息的活动:
所以系统为这种消息创建了一个特殊的活动(在 Mac/iOS 上测试)。
但从文档(https://developer.apple.com/documentation/os/oslogtype/2320725-fault):
如果存在活动对象,则此级别的日志记录会捕获整个流程链的信息。
这与error
为自定义活动捕获的日志级别相同。
是已知问题还是预期行为?我找不到任何有关的信息。
swift - 无法在 Swift 上创建 OSLog 活动
我想使用 OSLog 活动来构建我的日志,但我遇到了 Swift 上缺少所需活动常量的问题,例如OS_ACTIVITY_CURRENT
and 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 活动或在哪里可以找到常量?
instruments - os_log Instrument 是否暴露了控制台中不可用的消息?
在 Xcode 11.6 上,我了解到 Instruments 应用程序包含一个“os_log”工具,它揭示了一些可能对调试 CoreML 模型非常有用的信息。当我在 macOS 上对 CoreML 模型运行推理时,我可以看到来自com.apple.coreml
和com.apple.espresso
子系统的有关创建和运行模型的日志记录。
令我困惑的是,我在控制台应用程序中看不到那些日志消息。
所以我想知道,Instruments 中的“os_log”工具是否提供了其他情况下不可用的日志消息视图?有关于这个仪器的任何文件吗?或者有没有办法配置控制台应用程序——或者更好的是,使用命令行log
可执行文件——来查看所有这些可见仪器的消息?
ios - 在发布版本中禁用 iOS OSLog
我想为我的 iOS 应用程序禁用OSLog (发布版本)。我没有在我的应用程序中使用 OSLog,但我仍然在控制台应用程序中看到一些由苹果框架(如 libnetwork、Corefoundation、SystemConfiguration 等)记录的日志。有没有办法完全关闭应用程序的所有日志?
我将以下值添加到环境变量中,但它仅在我从 XCode 运行应用程序时才禁用日志,但是,当我通过单击应用程序图标启动它时,我仍然在控制台应用程序上看到我的应用程序的 OSLog。
注意:我的应用程序同时使用了 Objective C 和 Swift 编程语言,并禁用了 NSLog(Objective C) 和 print(Swift),我对此没有任何问题。我想为我的发布版本禁用所有日志,包括来自 Apple 框架的日志。
swift - OSLog Logger 在 XCode Playground 上不起作用:无法查找符号:___dso_handle
我想Logger
在 Playground 中测试新的 iOS 14,但我发现了下一个问题:
输出:
与旧的 OSLog API 相同:
可以OSLog
和游乐场一起使用吗?
swift - os_log 调试和发布版本
我在 OS_Log 中使用了以下辅助方法,但我不确定是否有必要。
我想在我的调试版本中记录东西,但不是(必须)在我的发布版本中。
我对编译器是否在 Release 版本中删除 os_log 语句感到困惑
我可以直接使用它并为发布版本剥离日志吗?
我很困惑...
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 中。
ios - 如何从真实的 iPhone 设备获取持久的日志文件
在我们的 iOS 应用程序中,我们使用 OSLog 来记录各种事件(包括错误),该应用程序是在 iPhone 设备上使用测试飞行分发的。据我们所知,具有日志级别 Notice、Error 和 Fault 的 OSLog 将日志持久化到磁盘中。由于我们有很多上述日志级别的日志,它们必须保存在某个地方,但我无法获得它们的确切存储位置。我的部分问题是,由于我现在无法访问 Mac,并且如果我只使用 iPhone 和应用程序,我可以从 iPhone 中获取应用程序存储的日志吗?可能是用iTunes什么的?或者甚至可以在没有mac的情况下获得它?此外,当我们使用 xcode 在模拟器上测试应用程序时,我期望相同的行为,因为我们正在记录各种事情,mac 或模拟器中的日志文件保存在哪里?确切的路径是什么,虽然我可以在控制台本身上看到所有日志,但我想获取 ios 创建的文件。如果有人可以指导我完成它,这对我们非常有帮助,尤其是关于从真实 iPhone 设备获取日志(无需将其连接到 mac)
谢谢, 普拉内