目次
Python ログ ライブラリの比較: ロギングと loguru
1. Loguru はログ記録を簡素化します
ログルの利点
ログルの基本的な例
ファイルとコンソールに同時に出力
2. Python の組み込みロギング ライブラリの長所と短所
メリット
デメリット
基本的な例
ファイルとコンソールに同時に設定を出力
3. ロギングとログルの詳細な比較
4。推奨されるアプリケーションシナリオ
ホームページ バックエンド開発 Python チュートリアル Python ロギング: loguru とロギング

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

Jan 26, 2025 pm 04:11 PM

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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Pythonと時間:勉強時間を最大限に活用する Pythonと時間:勉強時間を最大限に活用する Apr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python vs. C:パフォーマンスと効率の探索 Python vs. C:パフォーマンスと効率の探索 Apr 18, 2025 am 12:20 AM

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Apr 27, 2025 am 12:03 AM

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

Python:自動化、スクリプト、およびタスク管理 Python:自動化、スクリプト、およびタスク管理 Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonの学習:2時間の毎日の研究で十分ですか? Pythonの学習:2時間の毎日の研究で十分ですか? Apr 18, 2025 am 12:22 AM

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Python vs. C:重要な違​​いを理解します Python vs. C:重要な違​​いを理解します Apr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

See all articles