有没有办法在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。
答案 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"