Обратите внимание, что если вы пытаетесь сделать это на компьютере Snow Leopard Server (по крайней мере с 10.6.4), вы обнаружите, что в /System/Library/LaunchDaemons/com.apple.syslogd нет раздела с комментариями .plist (и что файл plist хранится в двоичном формате).
Тем не менее, копирование и вставка ключа, который цитирует Дуг выше, пойдет на пользу, хотя сначала вам нужно будет преобразовать формат файла в текст таким образом:
sudo plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
... и вам, вероятно, следует впоследствии преобразовать его (преобразования происходят на месте):
sudo plutil -convert binary1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
... затем перезагрузите демон launchd в соответствии с инструкциями Дуга.
После этого полный файл 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) на ваш сервер, они используют функцию 0, которую нельзя изменить . Это означает, что они будут автоматически зарегистрированы в /var/log/appfirewall.log из-за следующей записи по умолчанию в /etc/syslog.conf:
local0.* /var/log/appfirewall.log
На серверной версии ОС вы можете смело изменять имя файла, например, AirPort.log, выполнив следующую команду:
sudo touch /var/log/AirPort.log
... поскольку брандмауэр приложений Apple (socketfilterfw) по умолчанию отключен (и должен оставаться отключенным на сервере - ipfw - это все, что вам действительно нужно). Я не уверен, что возможно переконфигурировать socketfilterfw для использования другого средства системного журнала.