Formatter は以下の属性とメソッドを持っています。
Formatter は LogRecord を (通常は) 人間か外部のシステム
で解釈できる文字列に変換する役割を担っています。基底クラスの
Formatter では書式化文字列を指定することができます。
何も指定されなかった場合、'%(message)s'
の値が使われます。
Formatter は書式化文字列とともに初期化され、LogRecord 属性に 入っている知識を利用できるようにします - 上で触れたデフォルトの 値では、ユーザによるメッセージと引数はあらかじめ書式化されて、 LogRecord の message 属性に入っていることを利用 しているようにです。 この書式化文字列は、Python 標準の % を使った変換文字列で構成されます。文字列整形に関する詳細は 3.6.2 ``String Formatting Operations'' の章を参照してください。
現状では、 LogRecord の有用な属性は以下のようになっています:
Format | Description |
---|---|
%(name)s |
ロガー (ログ記録チャネル) の名前 |
%(levelno)s |
メッセージのログ記録レベルを表す数字 (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
%(levelname)s |
メッセージのログ記録レベルを表す文字列 ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") |
%(pathname)s |
ログ記録の呼び出しが行われたソースファイルの 全パス名 (取得できる場合) |
%(filename)s |
パス名中のファイル名部分 |
%(module)s |
モジュール名 (ファイル名の名前部分) |
%(funcName)s |
ログ記録の呼び出しを含む関数の名前 |
%(lineno)d |
ログ記録の呼び出しが行われたソース行番号 (取得できる場合) |
%(created)f |
LogRecord が生成された時刻 (time.time() の返した値) |
%(asctime)s |
LogRecord が生成された時刻を人間が読める書式で 表したもの。 デフォルトでは ``2003-07-08 16:49:45,896'' 形式 (コンマ以降の数字は時刻のミリ秒部分) です |
%(msecs)d |
LogRecord が生成された時刻の、ミリ秒部分 |
%(thread)d |
スレッド ID (取得できる場合) |
%(threadName)s |
スレッド名 (取得できる場合) |
%(process)d |
プロセス ID (取得できる場合) |
%(message)s |
レコードが発信された際に処理された
msg % args の結果 |
バージョン 2.5 で 変更 された仕様: funcName が追加されました
[fmt[, datefmt]]) |
'
%(message)s' が使われます。 datefmt
が指定されない場合、ISO8601 日付書式が使われます。
record) |
record[, datefmt]) |
exc_info) |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。