36.15. "syslog" --- Unix syslog ライブラリルーチン群
****************************************************

このモジュールでは Unix "syslog" ライブラリルーチン群へのインタフェー
スを提供します。"syslog" の便宜レベルに関する詳細な記述は Unix マニュ
アルページを参照してください。

このモジュールはシステムの "syslog" ファミリのルーチンをラップしていま
す。 syslog サーバーと通信できる pure Python のライブラリが、
"logging.handlers" モジュールの "SysLogHandler" にあります。

このモジュールでは以下の関数を定義しています:

syslog.syslog(message)
syslog.syslog(priority, message)

   文字列 *message* をシステムログ機構に送信します。末尾の改行文字は必
   要に応じて追加されます。各メッセージは *facility* および *level* か
   らなる優先度でタグ付けされます。オプションの *priority* 引数はメッ
   セージの優先度を定義します。標準の値は "LOG_INFO" です。 *priority*
   中に、便宜レベルが  ("LOG_INFO | LOG_USER" のように) 論理和を使って
   コード化されていない場合、 "openlog()" を呼び出した際の値が使われま
   す。

   "syslog()" が呼び出される前に "openlog()" が呼び出されなかった場合
   、 "openlog()" が引数なしで呼び出されます。

syslog.openlog([ident[, logoption[, facility]]])

   "openlog()" 関数を呼び出すことで以降の "syslog()" の呼び出しに対す
   るログオプションを設定することができます。ログがまだ開かれていない
   状態で "syslog()" を呼び出すと "openlog()" が引数なしで呼び出されま
   す。

   オプションの *ident* キーワード引数は全てのメッセージの先頭に付く文
   字列で、デフォルトでは "sys.argv[0]" から前方のパス部分を取り除いた
   ものです。オプションの *logoption* キーワード引数 (デフォルトは 0)
   はビットフィールドです。組み合わせられる値については下記を参照して
   ください。オプションの *facility* キーワード引数 (デフォルトは
   "LOG_USER") は明示的に facility が encode されていないメッセージに
   設定される facility です。

syslog.closelog()

   syslog モジュールの値をリセットし、システムライブラリの
   "closelog()" を呼び出します。

   この関数を呼ぶと、モジュールが最初に import されたときと同じように
   ふるまいます。例えば、("openlog()" を呼び出さないで) "syslog()" を
   最初に呼び出したときに、 "openlog()" が呼び出され、 *ident* やその
   他の "openlog()" の引数はデフォルト値にリセットされます。

syslog.setlogmask(maskpri)

   優先度マスクを *maskpri* に設定し、以前のマスク値を返します。
   *maskpri* に設定されていない優先度レベルを持った "syslog()" の呼び
   出しは無視されます。標準では全ての優先度をログ出力します。関数
   "LOG_MASK(pri)" は個々の優先度 *pri* に対する優先度マスクを計算しま
   す。関数 "LOG_UPTO(pri)" は優先度 *pri* までの全ての優先度を含むよ
   うなマスクを計算します。

このモジュールでは以下の定数を定義しています:

優先度 (降順):
   "LOG_EMERG" 、 "LOG_ALERT" 、 "LOG_CRIT" 、 "LOG_ERR" 、
   "LOG_WARNING" 、 "LOG_NOTICE" 、 "LOG_INFO" 、 "LOG_DEBUG" 。

機能:
   "LOG_KERN", "LOG_USER", "LOG_MAIL", "LOG_DAEMON", "LOG_AUTH",
   "LOG_LPR", "LOG_NEWS", "LOG_UUCP", "LOG_CRON", "LOG_SYSLOG" および
   、 "LOG_LOCAL0" から "LOG_LOCAL7" 。

ログオプション:
   "<syslog.h>" で定義されている場合、 "LOG_PID" 、 "LOG_CONS" 、
   "LOG_NDELAY" 、 "LOG_NOWAIT" 、および "LOG_PERROR" 。


36.15.1. 例
===========


36.15.1.1. シンプルな例
-----------------------

1つ目のシンプルな例:

   import syslog

   syslog.syslog('Processing started')
   if error:
       syslog.syslog(syslog.LOG_ERR, 'Processing started')

いくつかのログオプションを設定する例。ログメッセージにプロセスIDを含み
、メッセージをメールのログ用の facility にメッセージを書きます:

   syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
   syslog.syslog('E-mail processing initiated...')
