Pythonのビルトインモジュール--loggingモジュール入門

Pythonのビルトインモジュール--loggingモジュール入門

1、ログ - ログ

(1)対数関数:

記録<1>ユーザ情報

<2>は、個人の水を記録します

動作状態<3>録音ソフト

プログラマから発行された<4>記録指示

<5>デバッグコード用プログラマ

(2)機能、簡単な構成ログ:

logging.debug()#デバッグデバッグ10

logging.info()#情報情報20

logging.warning()#警告警告30

logging.error()#エラーエラー40

logging.critical()#重要危险50

(3)情報をログに記録します

Pythonのロギングモジュールは、標準出力にデフォルトの印刷を記録し、警告のみにそのデフォルトを表す以上の警告レベルのログ、ログレベルを示します

、(レベルグレードCRITICAL> ERROR> WARNING> INFO> DEBUGのログ)

ログレベルのデフォルトのログフォーマット:ロガー名:ユーザー出力メッセージ。

記録されたデフォルトの警告の先頭から

logging.basicConfig(レベル= 30)#デフォルトの開始レベル30を調整

(4)マニュアルトランスミッション

import logging
logging.basicConfig(
     level=logging.DEBUG,
     format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                     datefmt='%Y-%m-%d %H:%M:%S',
                     filename="test.log",
                     filemode="a",
 )


 logging.debug("你是疯儿,我是傻") # debug 调试
 logging.info("疯疯癫癫去我家")   # info 信息
 logging.warning("缠缠绵绵到天涯")   # info 警告
 logging.error("我下不床")           # error 错误
 logging.critical("你回不了家")        # critical 危险

<1>にbasicConfig()関数が用意されてロギングモジュール特有のパラメータのデフォルト動作パラメータによって変更することができます。

  • ファイル名:FiledHandlerを作成するには、そのようなログは、指定されたファイル名で指定したファイルに格納されています。
  • ファイルモード:このパラメータは、ファイル名で指定され、デフォルト値「」も「W」として指定することができる、オープンファイル。
  • 形式:ハンドラ指定した表示形式を記録します。
  • datefmt:日付と時刻の形式を指定します。
  • 設定するログレベル:レベル
  • ストリーム:指定されたストリームをStreamHandlerの作成。あなたはへの出力を指定することができます
  • sys.stderrを持ち、sys.stdoutのか、ファイル(F =オープン( 'test.log'、) 'W')、デフォルトのsys.stderrを持ち。両方のファイル名とストリームの2つのパラメータを一覧表示した場合は、ストリームのパラメータは無視されます。

<2>の形式のパラメータ文字列形式を使用することができます

  • %(名)■ロガー名
  • %(Levelno)のログレベルデジタル形式
  • %(Levelname)のログレベルのテキスト形式
  • ログ出力機能モジュールのフルパス名に%(パス名)の呼び出しがないかもしれません
  • %(ファイル名)のコールログ出力機能モジュールのファイル名
  • %(モジュール)のコールログ出力機能モジュール名
  • 関数名%(FUNCNAME)のコールログ出力機能
  • OKコードステートメントの%(LINENO)Dログ出力関数の呼び出し場所
  • 標準的な浮動小数点表現UNIX時間で表される現在時刻のF%(作成)
  • ミリ秒ロガーの数は、場合D出力ログ情報%(relativeCreated)作成されてから
  • 現在時刻文字列sの%(いるasctime)。デフォルトの形式は「2003-07-0816:49:45896」です。カンマの後のミリ秒
  • %(スレッド)DスレッドID。ではないかもしれません
  • %(のthreadName)■スレッド名。ではないかもしれません
  • %(プロセス)DプロセスID。ではないかもしれません
  • メッセージ%(メッセージ)のユーザ出力

(5)自動

import logging
# 初始化一个空日志
logger = logging.getLogger()   # -- 创建了一个对象
# 创建一个文件,用于记录日志信息
fh = logging.FileHandler('test.log',encoding='utf-8')
# 创建一个文件,用于记录日志信息
fh1 = logging.FileHandler('test1.log',encoding='utf-8')
# 创建一个可以在屏幕输出的东西
ch = logging.StreamHandler()
# 对要记录的信息定义格式
msg = logging.Formatter('%(asctime)s - [line:%(lineno)d] - %(filename)s - %(levelname)s - %(message)s')
# 对要记录的信息定义格式
msg1 = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
# 设置记录等级
logger.setLevel(10) or logger.setLevel(logging.DEBUG)
# 等级对应表
'''
DEBUG - 10
INFO - 20
WARNING - 30
ERROR - 40
CRITICAL - 50
'''
# 将咱们设置好的格式绑定到文件上
fh.setFormatter(msg)
fh1.setFormatter(msg)
# 将咱们设置好的格式绑定到屏幕上
ch.setFormatter(msg1)
# 将设置存储日志信息的文件绑定到logger日志上
logger.addHandler(fh) #logger对象可以添加多个fh和ch对象
logger.addHandler(fh1)
logger.addHandler(ch)
# 记录日志
logger.debug([1,2,3,4,])
logger.info('logger info message')
logger.warning('logger warning message')
logger.error('logger error message')
logger.critical('logger critical message')

おすすめ

転載: www.cnblogs.com/caiyongliang/p/11546748.html