从另一个应用程序获取MacOSX上的控制台日志

时间:2009-10-16 18:00:03

标签: macos console crash stdout

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

有没有办法从其他应用程序访问此日志?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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