🍑
[PHP] Monologでログを取得する
Monologでロギングするサンプルコード
Monolog1と2がありますが、2のほうになります
環境要件
- PHP7.2以上
→ それ以下: PHP 5.3以上の場合は、Monolog1を使用のこと
事前準備
composer require monolog/monolog
# vendorディレクトリがDLされるので、移動させつつリネームする
mv ./vendor /usr/lib/monolog
コード
testLog.php
<?php
require_once('/usr/lib/monolog/autoload.php');
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\StreamHandler;
// タイムゾーン設定
date_default_timezone_set("Asia/Tokyo");
// フォーマッタの作成
$dateFormat = "Y-m-d H:i:s";
$output = "[%datetime%] %channel% %level_name% %message%\n";
$formatter = new LineFormatter($output, $dateFormat);
// ハンドラの作成
$stream = new StreamHandler(__DIR__.'/log/test.log', Logger::INFO); // ログレベルINFO以上のみ出力
$stream->setFormatter($formatter);
// ロガーオブジェクトの作成
$logger = new Logger('test');
$logger->pushHandler($stream);
$logger->info('テスト'); // 出力される
$logger->debug('てすと'); // 出力されない
$logger->error('test'); // 出力される
実行結果
test.log
[2022-02-08 20:47:58] test INFO テスト
[2022-02-08 20:47:58] test ERROR test
参考
-
Seldaek/monolog | GitHub
→ 公式リポジトリ
Discussion