【问题标题】:get console log on MacOSX from another application从另一个应用程序获取 MacOSX 上的控制台日志
【发布时间】:2009-10-16 18:00:02
【问题描述】:

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

有没有办法从另一个应用程序访问此日志?

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

【问题讨论】:

    标签: macos console crash stdout


    【解决方案1】:

    啊,刚刚发现/var/log/system.log文件里面有这些信息。

    【讨论】:

    • 似乎并非在所有情况下都有输出,而且还有一些延迟,所以这并不是很有帮助。
    【解决方案2】:

    /var/log/system.log 并不是真正的解决方案,因为输出没有立即出现在那里(这是一个大问题,因为我的崩溃处理程序应该如何知道那里的一切都已完成),还有 grepping相关消息非常骇人听闻,然后,当我启动应用程序的几个实例时,我真的不知道正确的相关输出(除非我知道 pid,但即便如此,pid 也不是唯一的)。

    知道,我非常满意的一个解决方案是,应用程序本身会跟踪所有控制台输出。它通过 fork 自身并将其输出传递到 fork 并在那里模拟 tee 工具来做到这一点,其中一个输出是一个特殊的日志文件。当它崩溃时,它会将日志文件的文件名发送到崩溃处理程序。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      相关资源
      最近更新 更多