"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()" が引数なしで呼び出されます。

   引数 "priority", "message" を指定して 監査イベント "syslog.syslog"
   を送出します。

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

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

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

   引数 "ident", *logoptiona`*, "facility" を指定して 監査イベント
   "syslog.openlog" を送出します。

   バージョン 3.2 で変更: 前のバージョンでは、キーワード引数が使えず、
   *ident* が必須でした。 *ident* のデフォルトはシステムライブラリに依
   存しており、 Python プログラムのファイル名ではなく "python" となっ
   ていることが多かった。

syslog.closelog()

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

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

   引数無しで 監査イベント "syslog.closelog" を送出します。

syslog.setlogmask(maskpri)

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

   引数 "maskpri" を指定して 監査イベント "socket.setlogmask" を送出し
   ます。

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

優先度 (降順):
   "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_AUTHPRIV" 。

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


使用例
======


シンプルな例
------------

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...')
