このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
psr:psr3 [2020/04/29 22:10] y2sunlight |
psr:psr3 [2020/09/01 11:52] (現在) tanaka [PSR-3: Logger Interface] |
||
|---|---|---|---|
| 行 3: | 行 3: | ||
| --- // | --- // | ||
| - | 本章は、若干の補足を加筆してはいるものの単に[[https:// | + | 本章は、若干の補足を加筆してはいるものの単に[[https:// |
| - | ==== 目次 ==== | + | 関連記事 |
| - | * [[psr:top|PHP - PHP標準勧告]] | + | |
| + | * [[psr:top|PSR - PHP標準勧告]] | ||
| * [[psr: | * [[psr: | ||
| * PSR-3: Logger Interface - ロガーインターフェイス | * PSR-3: Logger Interface - ロガーインターフェイス | ||
| 行 12: | 行 13: | ||
| * [[psr: | * [[psr: | ||
| * [[psr: | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| + | * [[psr: | ||
| ----- | ----- | ||
| 行 51: | 行 62: | ||
| ==== 1.2 メッセージ ===== | ==== 1.2 メッセージ ===== | ||
| - | * すべてのメソッドは、メッセージとして文字列、または **< | + | * すべてのメソッドは、メッセージとして文字列、または **< |
| * メッセージには、実装者がコンテキスト配列の値で置き換えることができるプレースホルダーが含まれる場合があります ('' | * メッセージには、実装者がコンテキスト配列の値で置き換えることができるプレースホルダーが含まれる場合があります ('' | ||
| 行 102: | 行 113: | ||
| ==== 1.4 ヘルパークラスとインターフェイス ===== | ==== 1.4 ヘルパークラスとインターフェイス ===== | ||
| + | |||
| + | * **Psr\Log\AbstractLogger** クラスを使用すると、**LoggerInterface** を拡張して 一般的な **log()** メソッドを実装することで、**LoggerInterface** を非常に簡単に実装できます。他の8つのメソッドは、メッセージとコンテキストを このlog() に転送しています。 | ||
| + | |||
| + | * 同様に、**Psr\Log\LoggerTrait** を使用しても、一般的な log() メソッドを実装するだけで済みます。但し、トレイトはインターフェースを実装できないため、この場合でも **LoggerInterface** を実装する必要があります。 | ||
| + | |||
| + | * **Psr\Log\NullLogger** は、インターフェイスと共に提供されます。それは、ロガーが与えられていない時に、フォールバックとして「ブラックホール」実装を提供するために、インターフェイスのユーザによって使用されます ('' | ||
| + | |||
| + | > '' | ||
| + | |||
| + | * **Psr\Log\LoggerAwareInterface** には **setLogger(LoggerInterface $logger)** メソッドのみが含まれており、フレームワークが任意のインスタンスにロガーを Auto Wiring するために使用できます。 | ||
| + | |||
| + | * **Psr\Log\LoggerAwareTrait** トレイトを使用すると、**LoggerAwareInterface** と同等のインターフェイスを任意のクラスに簡単に実装できます。それは **< | ||
| + | |||
| + | * **Psr\Log\LogLevel** クラスは、8つのログレベルの定数を保持します。 | ||
| \\ | \\ | ||
| 行 107: | 行 132: | ||
| ===== 2. パッケージ ====== | ===== 2. パッケージ ====== | ||
| + | |||
| + | 説明されているインターフェースとクラス、関連する例外クラス、および実装を検証するためのテストスイートは、[[https:// | ||
| \\ | \\ | ||
| ===== 3. Psr\Log\LoggerInterface ====== | ===== 3. Psr\Log\LoggerInterface ====== | ||
| + | |||
| + | {{tablelayout? | ||
| + | ^メソッド^要約^ | ||
| + | |emergency\\ ($message, array $context = array())|システムが使用できない| | ||
| + | |alert\\ ($message, array $context = array())|すぐに行動を起こす必要がある| | ||
| + | |critical\\ ($message, array $context = array())|危機的な状態| | ||
| + | |error\\ ($message, array $context = array())|すぐに対処する必要はないが、通常はログに記録して監視する必要がある実行時エラー| | ||
| + | |warning\\ ($message, array $context = array())|エラーではない例外的な出来事| | ||
| + | |notice\\ ($message, array $context = array())|正常だが重要なイベント| | ||
| + | |info\\ ($message, array $context = array())|興味深いイベント| | ||
| + | |debug\\ ($message, array $context = array())|詳細なデバッグ情報| | ||
| + | |log($level, | ||
| <code php LoggerInterface.php> | <code php LoggerInterface.php> | ||