Pythonで色つきログを - rainbow_logging_handler をPyPIにリリースしました
rainbow_logging_handlerをPyPIパッケージとしてリリースしました.
上のスクショのようにカラフルにPythonでログが表示できます.
売りポイント
☆簡単に使える
デフォルトの使い方でも綺麗に色付けされます.
☆自由度の高い色カスタマイズ
下記のように,色は(変えたければ)細かく指定することができます.
☆ログ内容と色付けが分離されている
標準モジュールのlogging
でフォーマットを指定し,その色をrainbow_logging_handler.RainbowLoggingHandler
で調整(あるいはデフォルト色を利用)という風に使います.
☆ログのカラム(時刻,ファイル名,メッセージなど)毎に異なる色が付けられる
対抗馬と思われるlogutils.colorize.ColorizingStreamHandlerはログ1行ごとにしか無理.
☆どこでも使える
Python 2.6, 2.7, 3.2, 3.3 でテストしてます.
Linux, Windowsでは色も確認済み.おそらくMac OSとかBSDとかでも動きます.
更に更に,Public Domainです.
インストール
pip
とかeasy_install
で入ります.
1 | $ pip install rainbow_logging_handler |
使い方
基本の使い方
1 | # -*- coding: utf-8 -*- |
色とログフォーマットのカスタマイズ
1 | # -*- coding: utf-8 -*- |
開発の経緯
Pythonで色付けられそうなロガーを頑張って探した結果,一番よさげなのが
http://opensourcehacker.com/2013/03/14/ultima-python-logger-somewhere-over-the-rainbow/
でした.
でもPyPIパッケージじゃないしライセンス的にもあんまり嬉しくなかったので,
作者の@moo9000さんに「パッケージにしてよ」と言ったら「自分でやれ」って言われて作りました・・・
@laysakura Please haunt me if you need any help with it. Tips: http://t.co/nQ76IfUmK6
— Mikko Ohtamaa (@moo9000) 2013, 12月 3
パッケージ化の過程で色のカスタマイズとか小回りをよくした結果が今のrainbow_logging_handler
です.
終わりに,そしてお詫び
ログはカラフルな方が見る気が起きるような気がします.
皆様の開発の助けになれば幸いです.
バグ報告やpullreqはGithub:rainbow_logging_handlerまでお願いします.
この記事はPython Advent Calendar 2013の記事として書きました.
元々は「ユニットテスト, カバレッジ計測, ドキュメント生成なんかの開発ベストプラクティス書きます」と言っていたのですが,
それより喜ぶ人の多そうなカラフルなログの話にしちゃいました・・・
ベストプラクティス云々はまたの機会に!