Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


basic-library:monolog:2.0

差分

このページの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://gist.github.com/laverboy/fd0a32e9e4e9fbbf9584 
- 
----- 
- 
 ====== ログ出力 - monolog ====== ====== ログ出力 - monolog ======
 Version 2.0 ([[https://github.com/Seldaek/monolog/blob/master/LICENSE|MIT License]]) Version 2.0 ([[https://github.com/Seldaek/monolog/blob/master/LICENSE|MIT License]])
行 14: 行 7:
  
 関連記事 関連記事
-  * [[basic-library:project|プロジェクトの作成 - apricot]]+  * [[basic-library:project|プロジェクトの作成 - Apricot (α版)]]
   * [[basic-library:phpdotenv:4.1|環境変数 - phpdotenv]]   * [[basic-library:phpdotenv:4.1|環境変数 - phpdotenv]]
   * ログ出力 - monolog   * ログ出力 - monolog
   * [[basic-library:idiorm:1.5|ORマッパー - Idiorm]]   * [[basic-library:idiorm:1.5|ORマッパー - Idiorm]]
   * [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]]   * [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]]
-  * [[basic-library:fast-route:1.3|リクエストルーター - fast-route]] +  * [[basic-library:fast-route:1.3|リクエストルーター - FastRoute]] 
-  * [[basic-library:whoops:2.7|エラーハンドラー - whoops]]+  * [[basic-library:league-container:3.3|DIコンテナー League/Container]] 
 +  * [[basic-library:valitron:1.4|バリデーター - Valitron]] 
 +  * [[basic-library:whoops:2.7|エラーハンドラー - Whoops]]
   * [[basic-library:php-debugbar:1.16|デバッグ出力 - php-debugbar]]   * [[basic-library:php-debugbar:1.16|デバッグ出力 - php-debugbar]]
  
行 35: 行 30:
 ===== monologについて ===== ===== monologについて =====
  
 +Monologは、ファイル、ソケット、メール、Webサービスまたはデータベースなどの様々な場所にログ出力できます。これら出力先へのロギングは「ハンドラ」と呼ばれるインスタンスによって処理され、1つのロガーに対して複数のハンドラを登録できるます。また、ロガーは「チャネル」と呼ばれる単位で複数の作成が可能です。このように、複数ハンドラ・複数チャネルの非常に高度なロギング戦略を構築できます。
 +
 +Monologは、LaravelやSymfonyなどのPHPフレームワークで採用されている事を考えれば、ロギングについてはMonolog以外に考えられません。
 +
 +\\
  
 ===== インストール ===== ===== インストール =====
行 67: 行 67:
 </code> </code>
  
 +>Note:
 +>Eclipse起動中にパッケージを取得した場合は、プロジェクト・エクスプローラー内の[プロジェクト(apricote)]を右クリックして[リフレッシュ]を選択して下さい。また、新しく取得したパッケージのインテリセンスが有効にならない場合は、プロジェクトのビルトまたはクリーン&ビルドを行ってビルドリストの更新を行って下さい。
  
-===== テスト =====+パッケージの取得が終わると ''composer.json'' の ''require'' に以下が追加されます。
  
-パッケージのテストフォルダ(/test)に、テスト用のコード(monolog.php)を作成し実行します。以下の例では、logs/app.log にログファイルが出力されます。+<code javascript composer.json> 
 +
 +    "require":
 +        "monolog/monolog": "^2.0" 
 +    } 
 +
 +</code> 
 + 
 +\\ 
 + 
 + 
 + 
 +===== テストプログラム ===== 
 + 
 +パッケージのテストフォルダ(''test\'')に、テスト用のコード(''monolog.php'')を作成し実行します。以下の例では、''test\var\logs\app.log'' にログファイルが出力されます。
  
-<code php /test/monolog.php>+<code php monolog.php>
 <?php <?php
 require __DIR__.'/../vendor/autoload.php'; require __DIR__.'/../vendor/autoload.php';
  
-// 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('APPLE'); +$log = new Logger('APRICOT');
-$stream = new StreamHandler('logs/app.log',Logger::DEBUG);+
  
 +// ログチャネルの作成  ////////////////////////
 +$log_path = __DIR__.'/var/logs/app.log';
 +$log_level = Logger::DEBUG;
 +$stream = new StreamHandler($log_path, $log_level);
 +$log->pushHandler($stream);
 +
 +// ログフォーマット設定
 // ログ内の改行を許可、付加情報が空の場合無視する // ログ内の改行を許可、付加情報が空の場合無視する
 $stream->setFormatter(new LineFormatter(null, null, true, true)); $stream->setFormatter(new LineFormatter(null, null, true, true));
-$log->pushHandler($stream); 
  
 // ログ出力 /////////////////////////////// // ログ出力 ///////////////////////////////
行 98: 行 118:
 </code> </code>
  
-===== 結果 ===== +=== 実行結果 === 
-<code - /test/logs/app.log> +<code- app.log> 
-[2020-03-12T01:59:09.204539+01:00] APPLE.ERROR: Errorメッセージ   +[2020-03-20T02:05:26.435346+01:00] APRICOT.ERROR: Errorメッセージ   
-[2020-03-12T01:59:09.206126+01:00] APPLE.WARNING: Warningメッセージ   +[2020-03-20T02:05:26.436812+01:00] APRICOT.WARNING: Warningメッセージ   
-[2020-03-12T01:59:09.206986+01:00] APPLE.INFO: Infoメッセージ   +[2020-03-20T02:05:26.437220+01:00] APRICOT.INFO: Infoメッセージ   
-[2020-03-12T01:59:09.208696+01:00] APPLE.DEBUG: Debugメッセージ  +[2020-03-20T02:05:26.437657+01:00] APRICOT.DEBUG: Debugメッセージ  
 </code> </code>
basic-library/monolog/2.0.1584665145.txt.gz · 最終更新: 2020/03/20 09:45 by y2sunlight