ios OSLogStore可以访问应用扩展的日志记录吗?

798qvoo8  于 2023-08-08  发布在  iOS
关注(0)|答案(1)|浏览(138)

是否有一种方法可以使用Logger/OSLogStore,以便在扩展中执行的日志记录可以稍后由应用程序检索?
例如,假设一个应用程序的日志如下所示:

let logger = Logger(subsystem: "com.mysubsystem.log", category: "app")
logger.debug("app stuff")

字符串
假设一个扩展(例如通知服务扩展)的日志如下所示:

let logger = Logger(subsystem: "com.mysubsystem.log", category: "ext")
logger.debug("ext stuff")


然后,下次运行应用程序时,如果它尝试使用以下代码检索日志:

let logStore = try! OSLogStore(scope: .currentProcessIdentifier)
 let oneHourAgo = logStore.position(date: Date().addingTimeInterval(-3600))
 let allEntries = try! logStore.getEntries(at: oneHourAgo)
      for entry in allEntries {
            look at the content of the entry


然后在for循环中,有很多很多的东西被检索,包括“app的东西”,但没有“ext的东西”。应用程序是否可以回顾性地检索在扩展内执行的日志记录?

vpfxa7rd

vpfxa7rd1#

根据我的研究,你不能直接从使用OSLogStore的主应用程序中的扩展中获取日志。它们是独立的过程,所以不是这样工作的。
您可能可以使用应用程序组在应用程序和扩展之间共享日志,但这可能很棘手。另一种方法是将日志发送到服务器,但这也可能很复杂。
我想没有简单直接的方法来做到这一点:/

相关问题