ホームページ > バックエンド開発 > Python チュートリアル > Python ロギング: loguru とロギング

Python ロギング: loguru とロギング

DDD
リリース: 2025-01-26 16:11:13
オリジナル
649 人が閲覧しました

Python ログ ライブラリの比較: ロギングと loguru

1. Loguru はログ記録を簡素化します

Python Logging: loguru vs logging

ロギングは、Python 開発において重要なツールです。これは、開発者がプロ​​グラムの実行ステータスを記録し、問題をデバッグし、システムの状態を監視するのに役立ちます。 Python にはロギング ライブラリが付属しています。しかし、ニーズの変化に伴い、多くの人が代わりに loguru を使い始めました。この記事では、これら 2 つのライブラリを比較し、より適切なログ ソリューションを選択するのに役立ちます。

Loguru は、人気のあるサードパーティのログ ライブラリです。これは、構成プロセスを簡素化し、連鎖呼び出しをサポートし、より豊富な機能を提供することにより、ロギングの強力な代替手段となります。

ログルの利点

  • シンプルな構成: Loguru では複雑な構成を作成する必要はありません。複雑なログ構成は、わずか数行のコードで完了できます。
  • 連鎖呼び出し: ログをより直観的に行うために連鎖呼び出しをサポートします。
  • マルチターゲット出力: ログをコンソールとファイルに同時に簡単に出力でき、豊富なフォーマット構成をサポートします。
  • 追加機能: 自動ログ圧縮、ログ ファイルのローテーション、ログの保存日などの機能をサポートします。

ログルの基本的な例

<code class="language-python">from loguru import logger

# 配置日志
logger.add("app.log", rotation="500 MB")  # 文件大小超过 500 MB 时自动轮转

# 记录日志消息
logger.info("这是一个信息消息。")
logger.warning("这是一个警告消息。")
logger.error("这是一个错误消息。")</code>
ログイン後にコピー
ログイン後にコピー

この例では、複数の追加プロセッサを構成する必要はありません。ファイル ログの設定は、logger.add() を呼び出すだけで簡単に実行できます。

ファイルとコンソールに同時に出力

Loguru はファイルとコンソールに同時に簡単に出力できます:

<code class="language-python">from loguru import logger
import sys

# 添加日志输出到文件和控制台
logger.add("app.log", rotation="500 MB", retention="10 days")  # 文件轮转和保留 10 天
logger.add(sys.stdout, level="INFO")  # 输出到控制台

# 记录日志消息
logger.info("这是一个信息消息。")
logger.warning("这是一个警告消息。")
logger.error("这是一个错误消息。")</code>
ログイン後にコピー

ここでは、logger.add(sys.stdout, level="INFO") を使用すると、追加の構成を行わずにコンソールにログを表示できます。

2. Python の組み込みロギング ライブラリの長所と短所

メリット

  • 標準ライブラリの一部: ロギングは Python 標準ライブラリの一部であるため、追加のインストールは必要なく、クロスプラットフォームです。
  • 高度にカスタマイズ可能: ロギングは強力なカスタマイズ機能を提供し、ログの形式、レベル、宛先 (ファイル、コンソール、リモート サーバーなど) を柔軟に制御できます。
  • 強力な互換性: 多くのサードパーティ ライブラリでもログ記録が使用され、さまざまなログのシームレスな統合が可能になります。

デメリット

  • 複雑な構成: ロギングの基本的な使用法は比較的単純ですが、少し複雑な構成は、特に出力を複数のターゲット (ファイルなど) に同時に出力する必要がある場合、冗長で直感的でなくなる可能性があります。およびコンソール)) 時間。
  • チェーン呼び出しはサポートしていません: ロギングは loguru のようなチェーン呼び出しをサポートしていないため、レイヤーごとに構成する必要があります。

基本的な例

ロギングの簡単なログの例は次のとおりです:

<code class="language-python">import logging

# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    filename='app.log',
    filemode='a'
)

# 记录日志消息
logging.info("这是一个信息消息。")
logging.warning("这是一个警告消息。")
logging.error("这是一个错误消息。")</code>
ログイン後にコピー

この例では、ログは app.log ファイルに記録されますが、コンソールには表示されません。コンソールとファイルのログを同時に表示したい場合は、StreamHandler を追加で設定する必要があります。

ファイルとコンソールに同時に設定を出力

コンソールとファイルにログを同時に出力するには、複数のハンドラーを設定する必要があります。コードは次のとおりです:

<code class="language-python">from loguru import logger

# 配置日志
logger.add("app.log", rotation="500 MB")  # 文件大小超过 500 MB 时自动轮转

# 记录日志消息
logger.info("这是一个信息消息。")
logger.warning("这是一个警告消息。")
logger.error("这是一个错误消息。")</code>
ログイン後にコピー
ログイン後にコピー

比較的単純な関数を実装するには、異なるハンドラーを作成し、それらを 1 つずつ設定する必要があることがわかります。

3. ロギングとログルの詳細な比較

特性 logging loguru
配置复杂度 高,需要设置 Handlers 低,只需要 logger.add()
文件轮转和保留 需要第三方模块支持 内置支持轮转和保留
同时输出到控制台和文件 需要设置多个 Handlers 使用 sys.stdout 轻松实现
链式调用 不支持 支持
易用性 适用于复杂的配置和集成 适用于快速开发和清晰的日志管理

4。推奨されるアプリケーションシナリオ

  • 簡単なアプリケーションと迅速な開発 :: Loguruがより良い選択です。シンプルで直感的で、高速プロトタイプの設計や小規模プロジェクトに適しています。
  • 複雑なアプリケーションとマルチモジュールプロジェクト
  • ::高さのカスタマイズ関数によって提供されるロギングは、マルチレベルの構成、特に第3パーティライブラリと希望に依存するプロジェクトを必要とする複雑なシステムにより適しています。均一なログ管理の本質を管理するため
  • 5。概要
loguruとロギングには、利点と短所があります。ほとんどのPythonプロジェクトでは、Loguruの単純な文法と強力な機能により、迅速な発展のための最初の選択肢になります。大規模なプロジェクトの場合、標準のライブラリロギングの互換性と柔軟性がより適用可能になります。この記事が、プロジェクトに適したログツールを選択するのに役立つことを願っています。

Leapcell:最高のサーバーレスWeb Custody Platform

最後に、Pythonアプリケーションを展開するための最適なプラットフォームをお勧めします:Leapcell

Python Logging: loguru vs logging1。マルチ言語サポート

JavaScript、Python、GoまたはRustを使用して開発します。

    2。無制限のプロジェクトを無料で展開
使用のために支払うだけです - リクエストなし、費用はかかりません。

    3。比類のないコストメリット
オンデマンドで支払い、アイドルコストはありません。

たとえば、

:25ドルは694万件のリクエストをサポートし、平均応答時間は60ミリ秒です。
  • 4。簡素化された開発者エクスペリエンス
直感的なUI、簡単な設定。

完全な自動CI/CDパイプラインとGitOpsの統合。
  • REAL -TIMEインジケーターとログレコードは、操作洞察を提供します。
  • 5。簡単な拡張と高性能
高度と合併を簡単に処理する自動拡張機能。

ゼロ運用費用 - 建設に焦点を合わせます。
  • ドキュメントで詳細をご覧ください!

Leapcell Twitter:Python Logging: loguru vs logginghttps://www.php.cn/link/7884effb9452a6d7a7949494949494afd

以上がPython ロギング: loguru とロギングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート