LogReporter
概要
Pythonのloggerをラップして、ロジック層のログメッセージをUI層に転送するイベントハンドラを提供
機能
- ログファイルを残すフォルダを指定可能
- フォルダ内に残すログファイル数の上限を指定可能で、古いログを自動削除
- ログレベルに応じてコンソールをカラーマッピング
- UI層に投げるログレベルとファイルダンプするログレベルを独立して指定可能
注意事項
- 専用のsetupメソッドを使用してインスタンス生成してください。
- UI層とロジック層で同じnameを指定して共通インスタンスを参照してください。
Sample code
if __name__ == "__main__":
#ログレポータのセットアップ(static method)
logger = LogReporter.setup(
dumpLevel=logging.DEBUG, #(省略可)ファイルに記録するレベル
reportLevel=logging.WARNING,#(省略可)ハンドラに投げるレベル
name="Test", #(省略可)ロガー名
logDirctory="./", #(省略可)ログファイルの保存先
maxFileNum=5, #(省略可)ログファイルの最大数(古いものから削除される)
console_output=True #(省略可)コンソール出力も有効にする
)
#イベントハンドラの登録(複数登録可能)実運用では UIのログ表示部分をアサインする
logger.onLogging += lambda data: print(f"イベント1🍌: {data[0]} [{data[1]}]")
logger.onLogging += lambda data: print(f"イベント2🍎: {data[0]} [{data[1]}]")
#ログ出力テスト
logger.debug("ログレベル:DEBUG")
logger.info("ログレベル:INFO")
logger.warning("ログレベル:WARNING")
logger.error("ログレベル:ERROR")
logger.critical("ログレベル:CRITICAL")