ロギング-Pythonでの便利なロギングのためのライブラリ

いずれの開発でも、遅かれ早かれログを保持する必要があります。これは、デバッグメッセージを印刷で印刷するプログラムを顧客に提供しないためです。ケース)、そしてそれでpythonには非常に強力で便利なライブラリがあり、それから私はそれについて話をしようとします。



まず、ライブラリを接続し、コンソールにさまざまなタイプのメッセージを表示しようとします。



#log.py #!/usr/bin/python # -*- coding: utf-8 -*- import logging #   logging.debug( u'This is a debug message' ) #   logging.info( u'This is an info message' ) #   logging.warning( u'This is a warning' ) #   logging.error( u'This is an error message' ) #   logging.critical( u'FATAL!!!' )
      
      







結論として、次のものが得られます。



 WARNING:root:This is a warning ERROR:root:This is an error message CRITICAL:root:FATAL!!!
      
      







ご覧のように、出力ではデバッグメッセージと情報メッセージを除くすべてのものが取得されるため、エラーレベルをロガー設定に転送する必要があります。



 logging.basicConfig(level = logging.DEBUG)
      
      







エラー出力への最初の呼び出しの前に構成パラメーターを送信する必要があることをすぐに予約したいのですが、ここにコードがあります:



 #log.py #!/usr/bin/python # -*- coding: utf-8 -*- import logging logging.basicConfig(level = logging.DEBUG) #   logging.debug( u'This is a debug message' ) #   logging.info( u'This is an info message' ) #   logging.warning( u'This is a warning' ) #   logging.error( u'This is an error message' ) #   logging.critical( u'FATAL!!!' )
      
      







出力後、すべてのメッセージが表示されます。



 DEBUG:root:This is a debug message INFO:root:This is an info message WARNING:root:This is a warning ERROR:root:This is an error message CRITICAL:root:FATAL!!!
      
      







しかし、すべて同じですが、その出力は理解しにくいように見えます。このため、表示されるメッセージの形式をロガー構成で設定することもでき、すべての属性を見ることができます( こちら ):



 logging.basicConfig(format = u'%(filename)s[LINE:%(lineno)d]# %(levelname)-8s [%(asctime)s] %(message)s', level = logging.DEBUG)
      
      







出力後、次のメッセージが表示されます。

 log.py[LINE:33]# DEBUG [2012-05-25 00:11:58,466] This is a debug message log.py[LINE:34]# INFO [2012-05-25 00:11:58,466] This is an info message log.py[LINE:35]# WARNING [2012-05-25 00:11:58,466] This is a warning log.py[LINE:36]# ERROR [2012-05-25 00:11:58,467] This is an error message log.py[LINE:37]# CRITICAL [2012-05-25 00:11:58,467] FATAL!!!
      
      







すでにログのようなものであり、ファイル名とメッセージが呼び出された行を見ることができますが、開発中の作業中にそれらを表示するのは良いことですが、プロジェクトを送信するときはファイルに書き込む方が良いので、ここにも書きましょうログを書き込む場所を示すために、構成用のパラメーターが提供されます。

 logging.basicConfig(format = u'%(levelname)-8s [%(asctime)s] %(message)s', level = logging.DEBUG, filename = u'mylog.log')
      
      







これで、ログはfilenameパラメーターで指定されたファイルに書き込まれます。実際、このロガーには多くの機能があります。ロガーでの作業を開始するために必要なもののみを示しました。より詳細な情報を読み取ることができます。 docs.python.org/library/logging.html



All Articles