logger.testlogger のソースコード

# coding: utf-8

import logging
import logging.handlers

from   halumain.haluconf import HaluConf


[ドキュメント] class TestLogger: def __init__(self, logname): # コンフィグをインスタンス hconf = HaluConf() # ------------------------------------------------------------- # ログレベルの設定 # Level = DEBUG 開発者用ログを出力 # = INFO 指示・案内等を出力(エラーではない) # = WARNING 想定外のエラーが発生(継続可能) # = ERROR 致命的なエラーが発生 # = CRITICAL プログラムの実行不能なエラー # ------------------------------------------------------------- # 指定された名前でロガーを取得する tlog = logging.getLogger(logname) # ロガーにログレベルを登録する tlog.setLevel(logging.DEBUG) #ログファイルを日別でローテーションするハンドラーを定義 trh = logging.handlers.TimedRotatingFileHandler( filename = hconf.serverpath + '/HaluTest/test_logs/' + logname + '.log', encoding = 'utf-8', when = 'MIDNIGHT', backupCount = 3 ) # 日別ハンドラーに出力のフォーマットを登録する formatter = logging.Formatter('%(asctime)s <%(levelname)s> : %(message)s') trh.setFormatter(formatter) # 日別ハンドラーにログレベルを登録する trh.setLevel(logging.DEBUG) #ロガーに日別ハンドラーを登録する tlog.addHandler(trh) # ------------------------------------------ # レベル別 ログ出力メソッド # ------------------------------------------ # DEBUG ログ出力
[ドキュメント] def debug(self, logname, msg): log = logging.getLogger(logname) log.debug(msg)
# --------------------------- # テスト&使用法 開始 # ---------------------------
[ドキュメント] def main(): log = TestLogger('database') log.debug('database', 'database test start') log.debug('database', 'database デバッグ ログ') log.debug('database', 'database test end')
if __name__ == '__main__': main()