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 リクエストを容易にするのですか?](https://img.php.cn/upload/article/001/246/273/173289625287748.jpg)
30Nov2024
cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...
![App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173030193117363.jpg)
30Oct2024
App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...
![iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173655976762177.jpg)
11Jan2025
iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...
![プレーンな JavaScript を使用してテキストから HTML タグを効率的に削除する方法](https://img.php.cn/upload/article/001/246/273/173525467432390.jpg)
27Dec2024
プレーン JavaScript のテキストから HTML タグを削除する文字列から HTML タグを削除することは、Web 開発における一般的なタスクです。図書館もあるのに…
![システム設計: 図書館管理システム](https://img.php.cn/upload/article/001/246/273/173042649171859.jpg)
01Nov2024
Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能
13Jun2016
Windows での Apache php mysql のインストールと構成図 (最新バージョン)。まずソフトウェアを準備します: Apache 公式ダウンロード アドレス: apache_2.0.55-win32-x86-no_ssl.msi、その他のバージョンはこちら; PHP 公式ダウンロード アドレス: php-5.0.5-Win32.zip、その他のミラー ダウンロード
![](/static/imghwm/down_right.png)
![](/static/imghwm/taglogo.png)
Hot Tools
![依存関係注入コンテナー用の PHP ライブラリ](https://img.php.cn/upload/manual/000/000/001/5e21721e79a2b232.png)
依存関係注入コンテナー用の PHP ライブラリ
依存関係注入コンテナー用の PHP ライブラリ
50 個の優れた古典的な PHP アルゴリズムのコレクション
古典的な PHP アルゴリズム、優れたアイデアを学び、思考を広げます
画像を最適化するための小さな PHP ライブラリ
画像を最適化するための小さな PHP ライブラリ
![](/static/imghwm/taglogo.png)