Pythonのloggingモジュールの基礎

はじめに簡単なロギングモジュールです

1  インポートロギング
 2  5は、ログレベルの種類、画面にデフォルト出力、警告レベルとデフォルト印刷ログ上記
3。 logging.debug(テストデバッグ4。 logging.info(テスト情報5。 logging.warning(" テスト警告。6 logging.error(テスト・エラー。7 logging.critical(テストクリティカル。8  
。9  #は、ログファイルに出力されていない場合には、ログ出力パラメータ、ログファイルのパス名の出力を設定。ログ・ファイル・レベルにレベル出力、フォーマットと時間フォーマットのログ情報である、ログのdatefmtタイムスタンプ形式
10 注:logging.basicConfigをログに記録する前にログを印刷することはできませんそれ以外logging.basicConfigは、画面にファイル、または意志出力に出力を記録していない
11 logging.basicConfig(ファイル名= Test3は12                      レベル= logging.info、
 13                      =フォーマット' %(いるasctime)S%(levelname)S%(メッセージ)S ' 14                      datefmt = " %のM /%D /%I Yの%:%のM:%のS " 15 logging.warning(" テスト警告"

各プロパティの値に要約ログフォーマットを意味

ロガー名%(名)S 
%(levelno)のデジタル形式のログレベル
%(levelname)はテキスト形式のログレベルによ
%機能モジュールの完全なパス(パス名)のコールログ
%(ファイル名)のコールログ出力モジュールファイル名
%(モジュール)のコールログ出力機能モジュール名
関数%の名前(FUNCNAME)Sコールログ出力
%(LINENO)出力関数呼び出し文の行ログdは
UNIXタイムスタンプフォーマット規格F%(作成)を時間
のミリ%(relativeCreated)Dロガー開始
%(いるasctime)の現在の時刻フォーマット文字列
%(スレッド)のスレッド上述のID
(のthreadName)Sスレッド名%
%(処理)上記のID上記方法dは
%(メッセージ)のログメッセージ

異なるにログ出力ファイル
1  インポートロギング
 2  「」 " 
。3  Pythonは4つの主要なクラスに応じて、ロギングモジュールを使用
 4。 ロガーを直接使用するアプリケーションのためのインタフェースを提供する
 5。 ハンドラは、適切な宛先にログ出力を送信する
 6。  フィルタは、フィルタリング提供するログ出力を決定
 7  フォーマッタ最終決定形式のログ出力を
 8  「」「
9つの #は、ロガーを作成し、デバッグするログレベルを設定
10 logger1 = logging.getLogger(logger_name 。11  logger1.setLevel(logging.DEBUG)
 12は、 
13である 画面を作成します出力ハンドラは、情報へのロギングレベル設定
14 SH = logging.StreamHandler()
 15  sh.setLevel(logging.info)
 16 
17の #はファイル出力ハンドラを作成し、警告としてログセクタを設定し、出力ログファイルはfile_logある
18 FH = logging.FileHandler(file_log.log 19  fh.setLevel(logging.WARNING)
 20  
21  ログ形式を設定し、 、ここで同じフォーマットlogging.basicConfigパラメータが意味、logging.getLogger対応name引数
22は formatter1 logging.Formatter =(' %(いるasctime)S%(levelname)S%(名)(メッセージ)S%' 23であり、 
24  ハンドラ・ログ・フォーマットに追加する、異なる形式が異なるHDに関連していてもよい
25  sh.setFormatter(formatter1)
 26である fh.setFormatter(formatter1)
 27  
28  関連しロガーHDのみに関連付けることができる
29 logger1.addHandler(SH)
 30  logger1.addHandler(FH)は
 31であり、 
32 logger1.error(" テスト・エラー" 33が logger1.info(" テスト情報" 34である "" " 
35  画面出力
 36  2019年12月11日夜9時54分:10961テストエラーエラーlogger1
 37 [  2019年12月11日21である:54である:10961 logger1 info情報テスト
 38は、 文書出力
 39  2019年12月11日21である54ことである:10961エラーエラーlogger1テスト
 40  「」 "

 


ログのセグメンテーション

1つの ログの自動切断は、別のハンドラをインポートする必要がある
2  からロギングインポートハンドラを
 3 logger2 = logging.getLogger(__name__#のこの着信プログラムの名前
4  -create指定したファイルハンドラと切断、各ファイルが3記憶されていますバイト・ログは、最新の3つのファイルと設定し、ファイルレベルを維持する
。5 FH1 handlers.RotatingFileHandler =(ファイル名= split_byte.log 、MAXBYTES = 2、= BACKUPCOUNT。3 。6  ハンドラと標準切削時間に指定されたファイルを作成します、5秒ごとに一度カットは、3個のファイルまで保持されます。S S H H M週W分D日(月曜日間隔== 0)毎朝ミッドナイト
。7 FH2 handlers.TimedRotatingFileHandler =(ファイル名= " split_time "、場合=" S "、間隔= 5、backupCount = 3 8  fh1.setLevel(logging.INFO)
 9  fh1.setFormatter(formatter1)
 10  logger2.addHandler(FH1)
 11 logger2.warning(これはワーリング・ログ、分割ログ試験でありますxxxxxxxdddddddddddddddddddddddddddddddddddd 12 logger2.warning(これはワーリング・ログで、分割ログテストXXXXXXX "

 



おすすめ

転載: www.cnblogs.com/flags-blog/p/12026312.html