syslog — Unixsyslogライブラリルーチン
このモジュールは、Unix syslog
ライブラリルーチンへのインターフェイスを提供します。 syslog
機能の詳細については、Unixのマニュアルページを参照してください。
このモジュールは、システムsyslog
ファミリーのルーチンをラップします。 Syslogサーバーと通信できる純粋なPythonライブラリは、 logging.handlers モジュールでSysLogHandler
として入手できます。
このモジュールは、次の機能を定義します。
- syslog.syslog(message)
syslog.syslog(priority, message) 文字列メッセージをシステムロガーに送信します。 必要に応じて、末尾の改行が追加されます。 各メッセージは、ファシリティとレベルで構成される優先度でタグ付けされます。 オプションの priority 引数(デフォルトは
LOG_INFO
)は、メッセージの優先度を決定します。 ファシリティが論理和(LOG_INFO | LOG_USER
)を使用して priority でエンコードされていない場合、 openlog()呼び出しで指定された値が使用されます。syslog()を呼び出す前に openlog()が呼び出されていない場合、
openlog()
は引数なしで呼び出されます。
- syslog.openlog([ident[, logoption[, facility]]])
後続の syslog()呼び出しのログオプションは、 openlog()を呼び出すことで設定できます。 syslog()は、ログが現在開いていない場合、引数なしで openlog()を呼び出します。
オプションの ident キーワード引数は、すべてのメッセージの先頭に追加される文字列であり、デフォルトで
sys.argv[0]
になり、先頭のパスコンポーネントが削除されます。 オプションの logoption キーワード引数(デフォルトは0)はビットフィールドです。組み合わせることができる値については、以下を参照してください。 オプションの facility キーワード引数(デフォルトはLOG_USER
)は、明示的にエンコードされた機能を持たないメッセージのデフォルト機能を設定します。バージョン3.2での変更:以前のバージョンでは、キーワード引数は許可されておらず、 ident が必要でした。 ident のデフォルトはシステムライブラリに依存しており、多くの場合、Pythonプログラムファイルの名前ではなく
python
でした。
- syslog.closelog()
Syslogモジュールの値をリセットし、システムライブラリ
closelog()
を呼び出します。これにより、モジュールは最初にインポートされたときと同じように動作します。 たとえば、 openlog()は最初の syslog()呼び出しで呼び出され( openlog()がまだ呼び出されていない場合)、[X139X ] 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
、[ X77X] 。- 設備:
LOG_KERN
、LOG_USER
、LOG_MAIL
、LOG_DAEMON
、LOG_AUTH
、LOG_LPR
、LOG_NEWS
、[ X77X] 、LOG_CRON
、LOG_SYSLOG
、LOG_LOCAL0
からLOG_LOCAL7
、および<syslog.h>
で定義されている場合は、 [ X175X]。- ログオプション:
LOG_PID
、LOG_CONS
、LOG_NDELAY
、および<syslog.h>
、LOG_ODELAY
、LOG_NOWAIT
、およびLOG_PERROR
。
例
簡単な例
例の簡単なセット:
import syslog
syslog.syslog('Processing started')
if error:
syslog.syslog(syslog.LOG_ERR, 'Processing started')
いくつかのログオプションを設定する例。これらには、ログに記録されたメッセージにプロセスIDが含まれ、メールのログ記録に使用される宛先機能にメッセージが書き込まれます。
syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog('E-mail processing initiated...')