以下は、Python がロギングを通じてファイルとコンソールにログを書き込む例です。これは良い参考値であり、皆さんの役に立つことを願っています。一緒に見てみましょう
以下に示すように:
import logging # 创建一个logger logger = logging.getLogger('mylogger') logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件 fh = logging.FileHandler('test.log') fh.setLevel(logging.DEBUG) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 定义handler的输出格式 formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler logger.addHandler(fh) logger.addHandler(ch) # 记录一条日志 logger.info('foorbar')
フォーマッタの設定に関しては、辞書のキーワード置換である %(
Format | Description |
---|---|
%(name)s | ロガーの名前(ロギングチャネル) |
% ( levelno)s | メッセージの数値ログレベル (DEBUG、INFO、WARNING、ERROR、CRIT I)キャル). |
%(levelname)s | メッセージのテキストログレベル ('DEBUG'、'INFO'、'WARNING'、'ERROR' 、 'CRITICAL'). |
%(pathname)s | ロギング呼び出しが発行されたソース ファイルの完全なパス名 (可能な場合)。 |
%(filename) )s | パス名のファイル名部分. |
%(モジュール)s | モジュール (ファイル名の名前部分).|
%(funcName)s | 名前ロギング呼び出しを含む関数の。|
%(lineno)d | ロギング呼び出しが発行されたソース行番号 (利用可能な場合)。|
%(created)f | LogRecordが作成された時間(time.time()によって返される)。ログモジュールがロードされた時間を基準とします。 |
%(asctime)s。 | LogRecordが作成された時刻。デフォルトでは、「2003-07 -08 16:49:45,896」という形式になります (カンマの後の数字は作成時刻のミリ秒部分です)。 |
%(thread)d | スレッドID (ある場合). |
スレッド名 (ある場合). | %(process)d |
%(message)s | |
msg % | ar として計算されるログメッセージ。 |
関連する推奨事項: | ログを実装するための Python のサンプルコード|
以上がPython がロギングを通じてファイルとコンソールにログを書き込む例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。