Pythonでの開発を進めていく中で、print
からlogging
への移行は一つの大きなステップとなります。print
は簡単にメッセージ出力できるのが良い点ですが、より大規模な開発や複数人での開発を進めていく上では、logging
パッケージの利用が推奨されます。
以下のような場合、print
を卒業してlogging
パッケージを使うのが適切と考えられます:
– 自動的にタイムスタンプや出力元プログラム位置等の情報を付加したい
– ログ内容の統一性を持たせたい
– ログの重要度を識別したい
– コンソールとログファイルに同じログを出力したい
logging
パッケージを使うことで、以下のようにログ出力のコマンドを少し書くだけで:
logger.info('Process Start!')
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.info('Process End!')
タイムスタンプや出力元プログラム位置など、以下のようなログ出力をすることが出来ます:
2019-07-02 23:29:26,518 __main__:25 main [INFO]: Process Start!
2019-07-02 23:29:26,519 __main__:26 main [DEBUG]: debug
2019-07-02 23:29:26,519 __main__:27 main [INFO]: info
2019-07-02 23:29:26,519 __main__:28 main [WARNING]: warning
2019-07-02 23:29:26,519 __main__:29 main [ERROR]: error
2019-07-02 23:29:26,519 __main__:30 main [INFO]: Process End!
そして、コンソールに出力するだけでなく、ファイルにも同じ/違った内容を書き込んでくれます。
このように、logging
パッケージを使うことで、より詳細な情報を含んだログを出力することが可能となり、開発の効率化に寄与します。.