代码之家  ›  专栏  ›  技术社区  ›  Albert

从其他应用程序获取MacOSX上的控制台日志

  •  0
  • Albert  · 技术社区  · 15 年前

    通过application utilities/console.app,我可以看到应用程序的控制台输出。

    是否可以从其他应用程序访问此日志?

    更具体地说:我正在为我的应用程序编写一个崩溃处理程序,我希望它将控制台输出附加到崩溃信息。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Albert    15 年前

    啊,刚刚发现有一个文件/var/log/system.log,其中包含这些信息。

        2
  •  0
  •   Albert    15 年前

    /var/log/system.log并不是真正的解决方案,因为输出没有立即出现在那里(这是一个很大的问题,因为崩溃处理程序应该如何知道那里的所有内容都是完整的),而且相关消息的grepping非常hackish,然后,当我启动了几个应用程序实例时,我真的不知道正确的相关输出(除非我知道PID,但即使那样,PID也不是唯一的)。

    知道吗,我很满意的解决方案是应用程序本身跟踪所有控制台输出。这是通过分叉本身和管道输出到分叉和模仿那里的tee工具来实现的,其中一个输出是一个特殊的日志文件。当它崩溃时,它将日志文件的文件名发送给崩溃处理程序。

    如果您感兴趣,请查看openlierox源代码( http://sourceforge.net/projects/openlierox )