このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
basic-library:monolog:2.0 [2020/03/20 09:45] y2sunlight [インストール] |
basic-library:monolog:2.0 [2020/04/18 10:50] (現在) y2sunlight [ログ出力 - monolog] |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | > 投稿中です。しばらくお待ちください。 | ||
| - | |||
| - | 参考 | ||
| - | * https:// | ||
| - | |||
| - | ---- | ||
| - | |||
| ====== ログ出力 - monolog ====== | ====== ログ出力 - monolog ====== | ||
| Version 2.0 ([[https:// | Version 2.0 ([[https:// | ||
| 行 14: | 行 7: | ||
| 関連記事 | 関連記事 | ||
| - | * [[basic-library: | + | * [[basic-library: |
| * [[basic-library: | * [[basic-library: | ||
| * ログ出力 - monolog | * ログ出力 - monolog | ||
| * [[basic-library: | * [[basic-library: | ||
| * [[basic-library: | * [[basic-library: | ||
| - | * [[basic-library: | + | * [[basic-library: |
| - | * [[basic-library: | + | * [[basic-library: |
| + | * [[basic-library: | ||
| + | * [[basic-library: | ||
| * [[basic-library: | * [[basic-library: | ||
| 行 35: | 行 30: | ||
| ===== monologについて ===== | ===== monologについて ===== | ||
| + | Monologは、ファイル、ソケット、メール、Webサービスまたはデータベースなどの様々な場所にログ出力できます。これら出力先へのロギングは「ハンドラ」と呼ばれるインスタンスによって処理され、1つのロガーに対して複数のハンドラを登録できるます。また、ロガーは「チャネル」と呼ばれる単位で複数の作成が可能です。このように、複数ハンドラ・複数チャネルの非常に高度なロギング戦略を構築できます。 | ||
| + | |||
| + | Monologは、LaravelやSymfonyなどのPHPフレームワークで採用されている事を考えれば、ロギングについてはMonolog以外に考えられません。 | ||
| + | |||
| + | \\ | ||
| ===== インストール ===== | ===== インストール ===== | ||
| 行 67: | 行 67: | ||
| </ | </ | ||
| + | >Note: | ||
| + | > | ||
| - | ===== テスト ===== | + | パッケージの取得が終わると '' |
| - | パッケージのテストフォルダ(/test)に、テスト用のコード(monolog.php)を作成し実行します。以下の例では、logs/app.log にログファイルが出力されます。 | + | <code javascript composer.json> |
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | |||
| + | ===== テストプログラム ===== | ||
| + | |||
| + | パッケージのテストフォルダ('' | ||
| - | <code php /test/monolog.php> | + | <code php monolog.php> |
| <?php | <?php | ||
| require __DIR__.'/ | require __DIR__.'/ | ||
| - | // monologの初期化 //////////////////////// | ||
| use Monolog\Logger; | use Monolog\Logger; | ||
| use Monolog\Formatter\LineFormatter; | use Monolog\Formatter\LineFormatter; | ||
| use Monolog\Handler\StreamHandler; | use Monolog\Handler\StreamHandler; | ||
| - | // ログ出力指定 | + | // monologの初期化 //////////////////////// |
| - | $log = new Logger(' | + | $log = new Logger(' |
| - | $stream = new StreamHandler(' | + | |
| + | // ログチャネルの作成 | ||
| + | $log_path = __DIR__.'/ | ||
| + | $log_level = Logger:: | ||
| + | $stream = new StreamHandler($log_path, | ||
| + | $log-> | ||
| + | |||
| + | // ログフォーマット設定 | ||
| // ログ内の改行を許可、付加情報が空の場合無視する | // ログ内の改行を許可、付加情報が空の場合無視する | ||
| $stream-> | $stream-> | ||
| - | $log-> | ||
| // ログ出力 /////////////////////////////// | // ログ出力 /////////////////////////////// | ||
| 行 98: | 行 118: | ||
| </ | </ | ||
| - | ===== 結果 | + | === 実行結果 === |
| - | <code - /test/logs/app.log> | + | <code- app.log> |
| - | [2020-03-12T01:59:09.204539+01: | + | [2020-03-20T02:05:26.435346+01: |
| - | [2020-03-12T01:59:09.206126+01: | + | [2020-03-20T02:05:26.436812+01: |
| - | [2020-03-12T01:59:09.206986+01: | + | [2020-03-20T02:05:26.437220+01: |
| - | [2020-03-12T01:59:09.208696+01: | + | [2020-03-20T02:05:26.437657+01: |
| </ | </ | ||