検索

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

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

Python Logging: loguru vs logging

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

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

ログルの利点

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

ログルの基本的な例

from loguru import logger

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

# 记录日志消息
logger.info("这是一个信息消息。")
logger.warning("这是一个警告消息。")
logger.error("这是一个错误消息。")

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

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

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

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("这是一个错误消息。")

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

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

メリット

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

デメリット

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

基本的な例

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

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("这是一个错误消息。")

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

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

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

from loguru import logger

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

# 记录日志消息
logger.info("这是一个信息消息。")
logger.warning("这是一个警告消息。")
logger.error("这是一个错误消息。")

比較的単純な関数を実装するには、異なるハンドラーを作成し、それらを 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 サイトの他の関連記事を参照してください。

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

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター