Python ロギング: loguru とロギング
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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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