2

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

最佳情况下,该方法不需要 root 访问权限,因为我认为我不会拥有它。

我遇到的问题是我正在通过 Javascript System.run ( )命令(第30 页的Apple's Installer Javascript Reference),但我看不到该 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

4 回答 4

1

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

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

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

于 2013-02-26T20:29:18.340 回答
1

好的。很久过去了,我发现了以下内容。

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

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

于 2016-10-15T16:30:48.590 回答
1

有点晚了,但遇到了同样的问题,并且能够使用带有LOG_INSTALL工具的记录器从 AppleScript将日志添加到install.log

logger -p 'install.error' "My error message"
于 2018-11-09T12:13:37.963 回答
0

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

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

于 2016-03-02T09:08:53.843 回答