Дано: OS X – одна штука, Time Capsule – одна штука.

Нужно: писать сообщения syslog от TimeCapsule в syslog сервера.

На TimeCapsule (впрочем, как и на AirPort Express/Extreme) настройка элементарна:

01-syslog

Но в syslog “из коробки” эти сообщения не попадают.

Что делать?

Рецепты нашёл на SuperUser и на Shortcut.

Нужно отредактировать конфигурацию launchd для запуска syslogd.

Преобразую plist в приспособленный для редактирования вид xml:

$ sudo plutil -convert xml1 \
	/System/Library/LaunchDaemons/com.apple.syslogd.plist

Добавляю фрагмент в конце файла, выделенный жирным текстом:

$ sudo vim \
	/System/Library/LaunchDaemons/com.apple.syslogd.plist

	    <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>

Преобразую plist к предыдущему формату binary1:

$ sudo plutil -convert binary1 \
	/System/Library/LaunchDaemons/com.apple.syslogd.plist

Правлю конфигурацию syslog для отправки сообщений в файл AirPort.log:

$ sudo vim /etc/syslog.conf
#local0.*                       /var/log/appfirewall.log
local0.*                        /var/log/AirPort.log

Не забываю создать лог-файл:

$ sudo touch /var/log/AirPort.log

Перезапускаю syslog:

$ sudo launchctl unload \
	/System/Library/LaunchDaemons/com.apple.syslogd.plist
$ sudo launchctl load \
	/System/Library/LaunchDaemons/com.apple.syslogd.plist

Проверяю, что syslog стал слушать по сети:

$ sudo lsof -i:514
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd    1 root   55u  IPv4 0xffffff800cb05d60      0t0  UDP *:syslog
launchd    1 root   74u  IPv6 0xffffff800bb94920      0t0  UDP *:syslog
syslogd 2348 root    5u  IPv4 0xffffff800cb05d60      0t0  UDP *:syslog
syslogd 2348 root    6u  IPv6 0xffffff800bb94920      0t0  UDP *:syslog

Проверяю поступление сообщений, переподключив iPhone по WiFi:

$ tail -f  /var/log/AirPort.log
Aug 31 17:20:43 ... 80211: Disassociated with station 7c:c5:37:70:d3:9f
Aug 31 17:20:44 ... 80211: Rotated TKIP group key.
Aug 31 17:20:53 ... 80211: Associated with station 7c:c5:37:70:d3:9f
Aug 31 17:20:53 ... 80211: Authenticating station 7c:c5:37:70:d3:9f to RADIUS.
Aug 31 17:20:53 ... 80211: Installed unicast CCMP key for supplicant 7c:c5:37:70:d3:9f

Для “контрольного в голову” захожу в Console.app и выбираю нужный лог:

02-syslog

Работает. Замечательно.

Я всё это делал с OS X Lion Server, но должно работать и на обычном OS X.