検索
ホームページPHP ライブラリその他の図書館モノログロギング PHP ライブラリ
モノログロギング PHP ライブラリ

Monolog は、比較的完全で、PHP で簡単に拡張できるログ ライブラリです。現在、Symfony、Laravel、CakePHP などの多くの有名な PHP フレームワークには Monolog が組み込まれています。 Monolog は、ファイル、ソケット、受信箱、データベース、およびさまざまな Web サービスにログを送信できます。

Monolog は PSR3 インターフェイス仕様に従っており、同じ仕様に従う他のロギング ライブラリと簡単に置き換えることができます。 Monolog は優れたスケーラビリティを備えており、Handler、Formatter、Processor インターフェイスを通じて、Monolog クラス ライブラリをさまざまな方法で拡張およびカスタマイズできます。

基本的な使用法

<?php 
use Monolog\Logger; 
use Monolog\Handler\StreamHandler; 
 
// 创建日志频道 
$log = new Logger('name'); 
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); 
 
// 添加日志记录 
$log->addWarning('Foo'); 
$log->addError('Bar');

中心的な概念

各 Logger インスタンスには、チャネル名 (チャネル) とハンドラー スタックが含まれています。レコードを追加すると、そのレコードはハンドラー スタックを通じて処理されます。各ハンドラーは、次のスタック内の次のハンドラーにレコードを渡すかどうかを決定することもできます。

ハンドラーを通じて、いくつかの複雑なログ操作を実装できます。たとえば、StreamHandler をスタックの一番下に置くと、最終的にすべてのログ レコードがハードディスク ファイルに書き込まれます。同時に、MailHandler をスタックの最上位に配置し、ログ レベルを設定してエラー ログを電子メールで送信します。 Handler には $bubble 属性があり、この属性はハンドラーがレコードをインターセプトし、次のハンドラーにレコードが流れるのを防ぐかどうかを定義します。したがって、MailHandler の $bubble パラメータを false に設定すると、エラー ログが発生したときに、ログは StreamHandler を通じてハードディスクに書き込まれるのではなく、MailHandler を通じて送信されます。

複数のロガーを作成でき、それぞれが独自のチャネル名とハンドラー スタックを定義できます。ハンドラーは複数のロガー間で共有できます。チャンネル名がログに反映されるため、ログ記録の表示とフィルタリングが容易になります。

ログ形式 (フォーマッタ) が指定されていない場合、ハンドラはデフォルトのフォーマッタを使用します。

ログ レベルはカスタマイズできません。現在、RFC 5424 で定義されている 8 つのレベル (デバッグ、情報、通知、警告、エラー、クリティカル、アラート、緊急) が使用されています。ログ レコードに他のニーズがある場合は、Processo を通じてログ レコードにコンテンツを追加できます。

ログ レベル

DEBUG (100): 詳細なデバッグ情報。

INFO (200): 重要なイベント。

通知 (250): 平凡だが重要なイベント。

警告 (300): エラー以外の例外が発生しました。

エラー (400): 実行時エラーですが、すぐに処理する必要はありません。

CRITICA (500): 重大なエラー。

緊急 (600): システムが利用できません。


免責事項

このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは学習の参考のみを目的としています。商業目的で使用しないでください。そうでない場合は、すべての結果に対して責任を負うことになります。侵害がある場合は、削除するためにご連絡ください。連絡先情報: admin@php.cn

関連記事

cURL はどのように PHP での HTTP リクエストを容易にするのですか?cURL はどのように PHP での HTTP リクエストを容易にするのですか?

30Nov2024

cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...

App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?

30Oct2024

App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...

iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?

11Jan2025

iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...

プレーンな JavaScript を使用してテキストから HTML タグを効率的に削除する方法プレーンな JavaScript を使用してテキストから HTML タグを効率的に削除する方法

27Dec2024

プレーン JavaScript のテキストから HTML タグを削除する文字列から HTML タグを削除することは、Web 開発における一般的なタスクです。図書館もあるのに…

システム設計: 図書館管理システムシステム設計: 図書館管理システム

01Nov2024

Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能

Windows での Apache php mysql のインストールと構成図 (最新バージョン)Windows での Apache php mysql のインストールと構成図 (最新バージョン)

13Jun2016

Windows での Apache php mysql のインストールと構成図 (最新バージョン)。まずソフトウェアを準備します: Apache 公式ダウンロード アドレス: apache_2.0.55-win32-x86-no_ssl.msi、その他のバージョンはこちら; PHP 公式ダウンロード アドレス: php-5.0.5-Win32.zip、その他のミラー ダウンロード

See all articles