loguru
/
loguruの使い方
タグ Python loguru log logger
概要
- pythonの標準loggerよりだいぶ簡単にしたもの
- 必要な機能はレシピを見ると書いてあることが多い
- コピペで必要なログ機能を作ることができる
インストール
$ python3 -m pip install loguru
参考
ログレベルの種類とログレベルの設定
- 各種類
-
TRACE- 5
logger.trace()
-
DEBUG- 10
logger.debug()
-
INFO- 20
logger.info()
-
SUCCESS- 25
logger.success()
-
WARNING- 30
logger.warning()
-
ERROR- 40
logger.error()
-
CRITICAL- 50
logger.critical()
-
ログレベルをINFOにして実行
$ LOGURU_LEVEL=INFO python3 <script-name>.py
ある特定のフォーマットでINFO以上のレベルでstderrで表示する
import sys
from loguru import logger
logger.remove() # デフォルの設定をクリア
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
ログをファイルに保存する
import sys
from loguru import logger
logger.remove() # デフォルの設定をクリア
logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
logger.add("file_{time}.log")
ファイルに保存しつつ、標準出力にも出す
from loguru import logger
import sys
logger.remove()
logger.add(sys.stdout, level="INFO")
logger.add("logs.log")
-
logger.remove()でデフォルトのloggerを削除することで重複のアウトプットを防ぐ -
logger.add(sys.stdout, ...)とlogger.add("{FILENAME.log}")は共存できる
jupyterでも使う
from loguru import logger
import sys
logger.remove()
logger.add(sys.stdout, level="INFO")
logger.info("message") # 2021-12-21 04:39:12.625 | INFO | __main__:<module>:5 - aaaa
- デフォルトの出力がうまく描画されないので
logger.remove()してからセットアップする