ログって大事なのはわかってるけど、logger の設定って面倒くさくないですか?
- 「
logger
?logging
? どっちだっけ?」 - 「PoC(検証用コード)だからそんな細かくログレベルとか決めてないし…」
- 「とりあえず
print()
でいいや」
──これ、全部ぼくのことです。
でも、「とりあえず print」 から卒業したい、ちゃんとしたログがほしいって思ったときに出会ったのが loguru
でした。
loguru
ってなに?
loguru
は、Python の標準ライブラリ logging
の複雑さを解消するために作られた、シンプルでパワフルなロギングライブラリです。
特徴をざっとまとめると:
- ✅ 初期設定ゼロでも使える(
logger.info("Hello")
だけでOK) - ✅ ログレベル、色付き出力、ファイル保存などが超簡単に設定できる
- ✅ 呼び出し元(ファイル名・行数)も自動で出してくれる
- ✅ print のような感覚で書けるのに、ちゃんとログ
まずは使ってみよう
インストールは pip で一発:
pip install loguru
使い方は超シンプルです。
from loguru import logger
logger.info("Hello, world!")
これだけで、以下のような見やすいログが標準出力されます:
2025-05-22 10:00:00.000 | INFO | __main__:<module>:3 - Hello, world!
色もついてて見やすい(ターミナルによりますが)。
print の代わりに logger を
PoC(Proof of Concept)の段階だと、複雑なログ設定をするより print()
で済ませたくなる気持ち、わかります。
でも loguru
なら、print と同じくらい気軽に書けるのに、ログとしての便利さが段違いです。
- いつ・どこで出たログかがわかる
- あとからログレベルだけ変えてデバッグログを出すのも簡単
- ファイル出力やフィルタリングも一行で追加できる
logger.add("debug.log", level="DEBUG")
logger.debug("これはファイルに出力されるよ")
標準の logging
との違いは?
機能 | logging |
loguru |
---|---|---|
初期設定 | 必須 | 不要 |
色付き出力 | 自力で設定必要 | デフォルトで対応 |
呼び出し元の情報表示 | 自力で設定必要 | 自動で表示 |
ログファイル出力 | Handler 設定が必要 |
logger.add() 一発でOK |
Python 標準の logging
モジュールは柔軟性はありますが、設定が面倒な割に手軽さが足りないんですよね。
まとめ:とりあえず loguru にしとこう
もし今「logger の設定どうしよう」「めんどい」「print でいいか」と思ってるなら──
次からは loguru
をインポートして始めてみてください。
from loguru import logger
これだけで、ちょっとだけ "ちゃんとしたエンジニア" 感が出せますよ(しかも実際に便利)。
おまけ:Python に慣れてる人向けの補足
Python 標準の logging
に慣れてる人からすると、「loguru
ってただの糖衣構文でしょ?」って思うかもしれません。でも、使ってみるとその開発体験のスムーズさに驚くと思います。
シンプルだけど拡張性もある──そのちょうどいいバランスが loguru
の良さです。