请注意,如果尝试在Snow Leopard Server计算机上(至少在10.6.4上)执行此操作,则会发现/System/Library/LaunchDaemons/com.apple.syslogd中没有注释掉的部分。 .plist(并且plist文件以二进制格式存储)。
但是,复制并粘贴上面Doug引用的密钥可以解决问题,尽管首先您需要将文件格式转换为文本:
sudo plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
...并且您可能应该将其转换回原位(转换发生在原位):
sudo plutil -convert binary1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
...然后按照Doug的说明重新加载启动的守护程序。
之后,完整的plist文件应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnableTransactions</key>
<true/>
<key>HopefullyExitsLast</key>
<true/>
<key>Label</key>
<string>com.apple.syslogd</string>
<key>MachServices</key>
<dict>
<key>com.apple.system.logger</key>
<true/>
</dict>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/syslogd</string>
</array>
<key>Sockets</key>
<dict>
<key>AppleSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/asl_input</string>
</dict>
<key>BSDSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
</dict>
</plist>
还有一点需要注意:如果像我一样,如果您想将AirPort基站(和/或Time Capsules)的syslog输出发送到服务器,它们将使用设施0,该设施不能更改。这意味着由于/etc/syslog.conf中的以下默认条目,它们将自动记录到/var/log/appfirewall.log中:
local0.* /var/log/appfirewall.log
在OS的服务器版本上,一旦发出以下命令,就可以安全地将文件名更改为AirPort.log:
sudo touch /var/log/AirPort.log
...由于Apple的应用程序防火墙(socketfilterfw)在默认情况下处于关闭状态(并且应在服务器上保持关闭状态,ipfw才是您真正想要的)。我不确定是否可以重新配置socketfilterfw以使用其他syslog工具。