Проверьте, работает ли syslog или разрешено его использование.
$ ps -aux | grep syslog
root 11703 0.0 0.4 14424 1992 - IsJ 9:17AM 0:00.01 /usr/sbin/syslogd -ss
Теперь проверьте, работает ли syslog в ожидаемом локальном адресе. Пакет log/syslog ищет syslog в/var/run/syslog или/dev/log. Если он не найден там, вы увидите «Ошибка доставки syslog syslog» согласно http://golang.org/src/pkg/log/syslog/syslog_unix.go.
Чтобы найти локальный адрес системного журнала использования sockstat команда
$sockstat
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root login 12104 3 dgram -> /var/run/logpriv
root login 11791 3 dgram -> /var/run/logpriv
root cron 11754 4 dgram -> /var/run/logpriv
root syslogd 11703 4 dgram /var/run/log
root syslogd 11703 5 dgram /var/run/logpriv
В вышеописанном случае, системный журнал работает в/вар/работа/журнал. Итак, я создал символическую ссылку из/var/run/log в/var/log/syslog, и ошибка исчезла.
$ln -sf /var/run/log /var/run/syslog
Попробуйте проверить /var/log/system.log, чтобы узнать, была ли более полезная ошибка, чем то, что Go дал вам. Вы также можете просмотреть эту статью [http://vastdevblog.vast.com/blog/2012/04/18/using-syslogappender-on-os-x/). –
Я успешно пишу syslog из другого приложения. Эта статья для Java, поэтому на самом деле не применялась. – l15a