このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
basic-library:monolog:2.0 [2020/03/19 22:43] y2sunlight [ログ出力 - monolog] |
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: | ||
行 32: | 行 27: | ||
---- | ---- | ||
+ | |||
+ | ===== monologについて ===== | ||
+ | |||
+ | Monologは、ファイル、ソケット、メール、Webサービスまたはデータベースなどの様々な場所にログ出力できます。これら出力先へのロギングは「ハンドラ」と呼ばれるインスタンスによって処理され、1つのロガーに対して複数のハンドラを登録できるます。また、ロガーは「チャネル」と呼ばれる単位で複数の作成が可能です。このように、複数ハンドラ・複数チャネルの非常に高度なロギング戦略を構築できます。 | ||
+ | |||
+ | Monologは、LaravelやSymfonyなどのPHPフレームワークで採用されている事を考えれば、ロギングについてはMonolog以外に考えられません。 | ||
+ | |||
+ | \\ | ||
===== インストール ===== | ===== インストール ===== | ||
< | < | ||
- | D:\>cd usr\workspace3\y2sunlight\apple | + | composer require monolog/ |
- | D: | + | |
</ | </ | ||
行 62: | 行 64: | ||
Generating autoload files | Generating autoload files | ||
1 package you are using is looking for funding. | 1 package you are using is looking for funding. | ||
- | Use the composer fund command to find out more! | + | Use the `composer fund` command to find out more! |
</ | </ | ||
+ | >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-> | ||
// ログ出力 /////////////////////////////// | // ログ出力 /////////////////////////////// | ||
行 96: | 行 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: |
</ | </ |