有没有办法从shell脚本中添加到OS X的install.log?

时间:2013-02-26 19:57:08

标签: macos logging installer

有没有办法在shell脚本中向OS X的/var/log/install.log文件添加一个条目?

最佳方法不需要root访问权限,因为我认为我没有。

我遇到的问题是我正在OS X安装程序包中执行一个shell脚本,作为安装检查(Apple的Distribution Definition XML Schema的第15页)步骤的一部分Javascript System.run ()命令(Apple的Installer Javascript Reference的第30页),但我看不到该shell脚本的任何输出。

我知道shell脚本正在执行,因为当我在脚本中使用“logger”命令时,我的日志文本出现在/var/log/system.log中。但是为了全面了解正在发生的事情,我需要手动将其与/var/log/install.log合并,这是安装程序的常规输出和我执行的任何Javascript日志记录的结​​束起来。

任何帮助将不胜感激。我尝试使用“logger”命令的-f标志来使用/var/log/install.log,例如

logger -f /var/log/install.log sometext

......但没有骰子; sometext仍会被添加到/var/log/system.log。

4 个答案:

答案 0 :(得分:1)

阅读bash脚本。 您可以在这样的文件中添加一行

echo "My line here" >> /var/log/system.log

如果它出现Permission denied错误,则需要root权限。

答案 1 :(得分:0)

这本身不是答案,但可能是一个暗示?安装程序手册页提到" LOG_INSTALL工具",其输出是所需的/var/log/install.log

但这是什么"设施"它在哪里可用 - 我无法找到。我真的需要将我的前/后脚本失败和特定场景写入该日志。

答案 2 :(得分:0)

行。很长一段时间过去了,我发现了以下内容。

在正常情况下,安装程序守护程序会将安装前后脚本(我的是python和bash)写入stdout的任何内容记录到/var/log/install.log。我尝试了各种工具来创建我的安装程序包,他们通常会这样做。

但是,在我自己的部署安装程序中,出于某种原因,只有写入stderr的内容才会记录到/var/log/install.log中 - 所以您可能也想尝试一下。

答案 3 :(得分:0)

有点晚了,但是也有同样的问题,并且能够使用 logger 从AppleScript将日志添加到 install.log LOG_INSTALL 工具:

logger -p 'install.error' "My error message"