使用例

Pythonでのloggerの使い方を学んだからメモしておく.

import logging
logger= logging.getLogger(__name__)
console = logging.StreamHandler()
console.setLevel(logging.INFO)
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logger.addHandler(console)
 
logger.debug('this is debug')
logger.info('this is info')
logger.warn('this is warn')
logger.error('this is error')
logger.critical('this is critical')

のようにして logger オブジェクトから出力を吐いていくことでログを作成できる.

上の例では,コンソールに出したいために StreamHandler をloggerに対して加えているが, FileHandler でファイルを指定したものをさらにloggerに追加してやれば,ファイルに出力することも可能.

良い点

  • ロガーの出力レベルを変更することで出力されるかどうかが決まるから,例えばデバッグしたいときにコードを変更したり,デバッグ終わったから出力コードを削除したりしなくてよい.
  • コンソール用とログ用の出力を別々にコードしなくてよい.

以下参考