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

从另一个应用程序获取MacOSX上的控制台日志,macos,console,crash,stdout,Macos,Console,Crash,Stdout,通过applicationutilities/Console.app,我可以看到应用程序的控制台输出 是否有方法从其他应用程序访问此日志 更具体地说:我正在为我的应用程序编写一个崩溃处理器,我希望它将控制台输出附加到崩溃信息中。啊,刚刚发现有一个文件/var/log/system.log包含这些信息。/var/log/system.log不是一个真正的解决方案,因为输出没有立即出现在那里,这是一个大问题,因为我的崩溃处理程序如何知道那里的一切都是完整的,此外,相关消息的灰显非常粗糙,然后,当我启

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

是否有方法从其他应用程序访问此日志


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

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

/var/log/system.log不是一个真正的解决方案,因为输出没有立即出现在那里,这是一个大问题,因为我的崩溃处理程序如何知道那里的一切都是完整的,此外,相关消息的灰显非常粗糙,然后,当我启动应用程序的几个实例时,我真的不知道正确的相关输出,除非我知道pid,但即使如此,pid也不是唯一的

我非常满意的一个解决方案是,应用程序本身跟踪所有控制台输出。它是通过分叉自身并将其输出管道化到分叉并在那里模拟tee工具来实现的,其中一个输出是一个特殊的日志文件。当它崩溃时,它会将日志文件的文件名发送给crashhandler


如果您感兴趣,请查看OpenLieroX源代码。

似乎并非所有情况下都有输出,而且还存在一些延迟,因此这并不是很有帮助。