ロギングモジュール
ログの役割
一般的に、このような反復の現在の数として、情報表示プログラムのいくつかは彼らと一緒に実行するために、雑誌の印刷の役割として機能し、その上、時には我々は、プログラムがバックグラウンドで実行させる、そして機能が動作していない状態になります印刷し、我々がする必要があります実行するために、ファイルに格納されている情報は、nohup.outで最長のは、Linuxのファイルを表示するには、その後私たちは、ログファイルに実行中のプログラムからいくつかの情報を表示することができます
ロギングモジュールのログレベル
ローからハイへ:
* DEBUGは
* INFO
*警告
* ERROR
* CRITICALに
プログラムがログレベルを指定した場合、プログラムは、ログレベルの大きいを記録するよりも、または指定したログ情報に等しいです
一般的なロギング機能モジュール
longing.debug(msg, *args, **kwargs) # 创建一个等级为DEBUG的日志记录
将上面的debug替换成info, warning, error, critical就是创建一条严重级别为info, warning, error, critical的日志记录
logging.basicConfig(**kwargs) # 对日志记录器进行配置,如输出日志格式,日志等级等信息
使用のログ
1.だけレベルが他の出力を記録しますロガーに等しい所定のレベルよりも大きいです
import logging
logging.debug("hello word, debug")
logging.info("hello word, info")
logging.error("hello word, error")
logging.warning("hello word, warning")
logging.critical("hello word, critical")
輸出
ERROR:root:hello word, error
WARNING:root:hello word, warning
CRITICAL:root:hello word, critical
[Finished in 14.5s]
これだけのレベル以上で警告ログが出力され、デフォルトのログレベルを記録WARNINGのために設定されているため、出力されません前の2つのログで見つけることができます
デフォルト設定変更2.
デフォルト設定にbasicConfigを変更するために使用し、longging.basicConfig()
以下のパラメータを受信した:
filename
ログのファイル名が書き込まれる
filemode
ログファイルオープンモードを指定するには、デフォルトでは、「」で追加モードにある
format
特定の情報は、ログ出力のために含まれているが、以下に説明しますカスタムフォーマットフィールドは、
datefmt
日付と時刻の形式を指定します
ここではいくつかのフォーマット文字列フィールドには、頻繁に使用される
%(asctime)s
時間の日記が発生した
%(levelname)s
指定されたログレベルの
%(message)s
ログ内容
ログ出力の設定後3
手順は以下の通りであります
import logging
LOG_FORMAT = "%(asctime)s %(levelname)s %(message)s"
logging.basicConfig(filename='./nohup.out', level=logging.DEBUG, format=LOG_FORMAT)
logging.debug("hello word, debug")
logging.info("hello word, info")
logging.error("hello word, error")
logging.warning("hello word, warning")
logging.critical("hello word, critical")
出力:出力ファイルが指定されているので、nohup.outを次のようにこの時点では、コンソール出力、ログファイルに記録されたログ情報、前記ファイルのオープンが表示されません。
2020-01-10 21:32:03,006 DEBUG hello word, debug
2020-01-10 21:32:03,006 INFO hello word, info
2020-01-10 21:32:03,006 ERROR hello word, error
2020-01-10 21:32:03,006 WARNING hello word, warning
2020-01-10 21:32:03,006 CRITICAL hello word, critical
ログレベルの設定レベルため= logging.DEBUG、したがってます以下のグレードのログをDEBUGに記録されているよりも、