ホームページ >バックエンド開発 >Python チュートリアル >Python 3.x でのログ記録にログモジュールを使用する方法

Python 3.x でのログ記録にログモジュールを使用する方法

WBOY
WBOYオリジナル
2023-07-30 13:51:491252ブラウズ

Python 3 でのログインにログ モジュールを使用する方法。x

はじめに:
ソフトウェア開発プロセスにおいて、ログは重要なコンポーネントです。プログラムの実行状況や各種イベントを記録することで、トラブルシューティング、性能分析、システム監視が容易に行えます。 Python のログ モジュールは、ログを簡単に生成および管理できる強力で柔軟なログ機能を提供します。

1. ロギング モジュールの概要
Logging は、完全なロギング機能を提供する Python の組み込みモジュールです。ロギングモジュールを利用することで、さまざまな出力形式や出力対象を定義できるほか、ログレベルの制御も簡単に行え、必要に応じて柔軟にログ情報を記録・表示することができます。

2. 基本的なロギング
次の例は、Python での基本的なロギングにロギング モジュールを使用する方法を示しています:

import logging

# 配置日志记录器
logging.basicConfig(level=logging.DEBUG, 
                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 创建日志记录器
logger = logging.getLogger('my_logger')

# 记录不同级别的日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

上記のコードでは、最初に basicConfig を渡します 関数はグローバル ロガーを構成し、ログ レベルを DEBUG として指定し、ログ形式を指定します。次に、getLogger 関数を使用して、'my_logger' という名前の特定のロガーを作成します。その後、debuginfowarningerrorcritical などのさまざまなレベルのメソッドを通じて、それぞれ異なるレベルのログ情報が記録されます。

3. ログ レベルと出力形式の制御
ログ モジュールは、DEBUGINFOWARNING# などの複数レベルのログを提供します。 5 つのレベル: ##、ERRORCRITICAL で、低から高へと増加します。ロガーおよびさまざまなプロセッサのレベルを設定することで、ロギングの冗長性を制御できます。

import logging

# 配置日志记录器
logging.basicConfig(level=logging.WARNING, 
                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 创建日志记录器
logger = logging.getLogger('my_logger')

# 创建文件处理器
file_handler = logging.FileHandler('log.txt')
file_handler.setLevel(logging.DEBUG)

# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.ERROR)

# 设置处理器的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)

# 添加处理器到记录器
logger.addHandler(file_handler)
logger.addHandler(console_handler)

# 记录不同级别的日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

上記のコードでは、まず

basicConfig 関数を使用してグローバル ログ レベルを WARNING に設定します。次に、getLogger 関数を使用して、'my_logger' という名前のロガーを作成します。次に、2 つのプロセッサが作成されます。1 つはファイルに書き込むファイル プロセッサで、もう 1 つはコンソールに出力するコンソール プロセッサです。プロセッサレベルを設定することで、ファイルとコンソールのログ出力レベルをそれぞれ制御できます。最後に、addHandler メソッドを使用してハンドラーをロガーに追加します。

4. より高度な構成

ログ モジュールでは、ログの出力場所、ファイル分割、ログ ローテーション、ログ監査などのより高度な構成オプションも提供します。以下は、ログ ファイルのローテーションに RotatingFileHandler を使用する例です。

import logging
from logging.handlers import RotatingFileHandler

# 创建日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

# 创建轮转文件处理器
file_handler = RotatingFileHandler('log.txt', maxBytes=1024, backupCount=5)

# 设置处理器的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)

# 添加处理器到记录器
logger.addHandler(file_handler)

# 记录不同级别的日志
for i in range(10):
    logger.debug('This is debug message %d' % i)

上記のコードでは、ファイル ハンドラーは

RotatingFileHandler クラスを通じて作成され、最大ファイル サイズは 1024 に指定されています。ワード.セクションでは、保持されるバックアップ ファイルの数は 5 です。このようにして、ログ ファイルが最大サイズに達すると、指定された数のバックアップ ファイルを保持したまま、自動的に複数のファイルに分割されます。

概要:

この記事では、Python 3.x でログを記録するためのログ モジュールを使用する基本的な方法を紹介します。さまざまなレベルの方法を使用すると、さまざまなレベルのログ情報を簡単に記録できます。さまざまなプロセッサと形式を構成することで、ログの出力場所と形式を柔軟に制御できます。同時に、ロギング モジュールは、より複雑なロギングのニーズを満たすために、ファイル分割、ログ ローテーションなどのより高度な構成オプションも提供します。ロギングの初心者の場合、基本的な方法から始めて、より高度な構成オプションを徐々に習得すると、コードの保守性とデバッグ効率が向上します。

以上がPython 3.x でのログ記録にログモジュールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。