Python ログ ライブラリの比較: ロギングと loguru
1. Loguru はログ記録を簡素化します
ロギングは、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。概要
Leapcell:最高のサーバーレスWeb Custody Platform
最後に、Pythonアプリケーションを展開するための最適なプラットフォームをお勧めします:Leapcell
1。マルチ言語サポート
JavaScript、Python、GoまたはRustを使用して開発します。
- 2。無制限のプロジェクトを無料で展開
- 3。比類のないコストメリット
たとえば、
:25ドルは694万件のリクエストをサポートし、平均応答時間は60ミリ秒です。- 4。簡素化された開発者エクスペリエンス
完全な自動CI/CDパイプラインとGitOpsの統合。
- REAL -TIMEインジケーターとログレコードは、操作洞察を提供します。
- 5。簡単な拡張と高性能
ゼロ運用費用 - 建設に焦点を合わせます。
- ドキュメントで詳細をご覧ください!
Leapcell Twitter:https://www.php.cn/link/7884effb9452a6d7a7949494949494afd
以上がPython ロギング: loguru とロギングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
