## 6.28.1 Logger オブジェクト

ロガーは以下の属性とメソッドを持ちます。ロガーを直接インスタンス化 することはできず、常にモジュール関数 `logging.getLogger(name)` を介してインスタンス化するので注意してください。

`propagate`
  この値の評価結果が偽になる場合、ログ記録しようとするメッセージは このロガーに渡されず、また子ロガーから上位の (親の) ロガーに 渡されません。コンストラクタはこの属性を 1 に設定します。

`setLevel`( | lvl)

  このロガーの閾値を lvl に設定します。ログ記録しようとする メッセージで、lvl よりも深刻でないものは無視されます。 ロガーが生成された際、レベルは `NOTSET` (全てのメッセージ がルートロガーで処理されるか、非ルートロガーの場合には親ロガーに 処理を代行させる) に設定されます。

`isEnabledFor`( | lvl)

  深刻さが lvl のメッセージが、このロガーで処理されることに なっているかどうかを示します。このメソッドはまず、 `logging.disable(lvl)` で設定されるモジュールレベル の深刻さレベルを調べ、次にロガーの実効レベルを `getEffectiveLevel()` で調べます。

`getEffectiveLevel`( | )

  このロガーの実効レベルを示します。`NOTSET` 以外の値が `setLevel()` で設定されていた場合、その値が返されます。 そうでない場合、`NOTSET` 以外の値が見つかるまでロガーの 階層をルートロガーの方向に追跡します。見つかった場合、その値が 返されます。

`debug`( | msg[, *args[, **kwargs]])

  レベル `DEBUG` のメッセージをこのロガーで記録します。 msg はメッセージの書式化文字列で、args は msg に 取り込むための引数です。キーワード文字列 kwargs からは exc_info のみが調べられ、この値の評価値が偽でない場合、 (`sys.exc_info` から得た) 例外情報がログメッセージに追加されます。

`info`( | msg[, *args[, **kwargs]])

  レベル `INFO` のメッセージをこのロガーで記録します。 引数は `debug()` と同じように解釈されます。

`warning`( | msg[, *args[, **kwargs]])

  レベル `WARNING` のメッセージをこのロガーで記録します。 引数は `debug()` と同じように解釈されます。

`error`( | msg[, *args[, **kwargs]])

  レベル `ERROR` のメッセージをこのロガーで記録します。 引数は `debug()` と同じように解釈されます。

`critical`( | msg[, *args[, **kwargs]])

  レベル `CRITICAL` のメッセージをこのロガーで記録します。 引数は `debug()` と同じように解釈されます。

`log`( | lvl, msg[, *args[, **kwargs]])

  レベル lvl のメッセージをこのロガーで記録します。 その他の引数は `debug()` と同じように解釈されます。

`exception`( | msg[, *args])

  レベル `ERROR` のメッセージをこのロガーで記録します。 引数は `debug()` と同じように解釈されます。 例外情報はログメッセージに追加されます。このメソッドは 例外ハンドラからのみ呼び出されます。

`addFilter`( | filt)

  指定されたフィルタ filt をこのロガーに追加します。

`removeFilter`( | filt)

  指定されたフィルタ filt をこのロガーから除去します。

`filter`( | record)

  このロガーのフィルタをレコード (record) に適用し、レコードが フィルタを透過して処理されることになる場合には真を返します。

`addHandler`( | hdlr)

  指定されたハンドラ hdlr をこのロガーに追加します。

`removeHandler`( | hdlr)

  指定されたハンドラ hdlr をこのロガーから除去します。

`findCaller`( | )

  呼び出し元のソースファイル名と行番号を調べます。ファイル名と行番号 を 2 要素のタプルで返します。

`handle`( | record)

  レコードをこのロガーおよびその上位ロガーに (propagate の 値が偽になるまで) さかのぼった関連付けられている全てのハンドラに渡して 処理します。このメソッドはソケットから受信した逆 pickle 化された レコードに対してもレコードがローカルで生成された場合と同様に用いられます。 `filter()` によって、ロガーレベルでのフィルタが適用されます。

`makeRecord`( | name, lvl, fn, lno, msg, args, exc_info)

  このメソッドは、特殊な `LogRecord` インスタンスを生成する ためにサブクラスでオーバライドできるファクトリメソッドです。