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
を送出します。
- 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
toLOG_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
, andLOG_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...')