"syslog" --- Unix syslog library routines
*****************************************

======================================================================

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

Availability: Unix, not Emscripten, not WASI.

This module wraps the system "syslog" family of routines.  A pure
Python library that can speak to a syslog server is available in the
"logging.handlers" module as "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"
   を送出します。

   バージョン 3.2 で変更: In previous versions, "openlog()" would not
   be called automatically if it wasn't called prior to the call to
   "syslog()", deferring to the syslog implementation to call
   "openlog()".

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 で変更: In previous versions, keyword arguments were
   not allowed, and *ident* was required.

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" を送出し
   ます。

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

Priority levels (high to low):
   "LOG_EMERG", "LOG_ALERT", "LOG_CRIT", "LOG_ERR", "LOG_WARNING",
   "LOG_NOTICE", "LOG_INFO", "LOG_DEBUG".

Facilities:
   "LOG_KERN", "LOG_USER", "LOG_MAIL", "LOG_DAEMON", "LOG_AUTH",
   "LOG_LPR", "LOG_NEWS", "LOG_UUCP", "LOG_CRON", "LOG_SYSLOG",
   "LOG_LOCAL0" to "LOG_LOCAL7", and, if defined in "<syslog.h>",
   "LOG_AUTHPRIV".

Log options:
   "LOG_PID", "LOG_CONS", "LOG_NDELAY", and, if defined in
   "<syslog.h>", "LOG_ODELAY", "LOG_NOWAIT", and "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...')
