syslogで長いメッセージは出力できない

「syslog出力したメッセージが、途中で切れてしまった!」という話があったので、ここにメモ。
その原因は単純で「メッセージが長すぎた」ことです。以下の通り、syslogプロトコルでは、メッセージは1024バイトまでなのです。

パケット全体の長さは、1024バイトまたはそれ以下でなければならない(MUST)

RFC 3164: The BSD syslog Protocol (日本語)


これを考慮して、下記くらいは、ログメッセージの設計で注意したいですね。

  • あまり長いメッセージにしない
  • 重要なエラー情報は前にもってくる