Monologを使ってLogglyへログを流したい
例により、事の始まりはこのような思いから
Logglyはどんなサービスか、、、
ログ管理のクラウドサービス
です。
Logglyでログ管理をしたいのです。
検証環境
- Laravel
5.2.41
- Monolog
1.20.0
まずはLogglyに登録しよう
Try Loggly for FREE
からアカウント登録
英語ばかりで挫折しそうになるが、
そこはエンジニア魂で踏ん張る
tokenをゲットだぜ!
Monologで使用するtokenをゲットするぜ!
- メニューの
Source Setup
をクリックして遷移 - さらにメニューの
Customer Tokens
をクリックして遷移 - Tokenがあるはず!
Monologのドキュメントを眺める
ログを流すにはどうすればいいものか、、、
例のごとくドキュメントを眺める
これがLogglyHandlerか
LogglyHandler
φ(゚Д゚ )フムフム…
簡単そうやん!
やったるで!
LogglyHandler使ってみるで
まずはLogglyの設定を作るやで
Laravelのconfigに設定を作るやで
config/loggly.php
みたいな感じ。
<?php
/**
* Loggly出力設定を行います。
*/
return [
'loggly' => [
'token' => 'xxxxxxxxxxxxxxxxxx',
// どのレベル以上でLogglyに流すか設定(今回は ERROR 以上)
'over_notification_log_level' => \Monolog\Logger::ERROR,
],
];
MonologにLogglyHandlerを追加するやで
// slackのconfigを取得
$logglyConfig = \Config::get('loggly.loggly');
\Log::getMonolog()->pushHandler(
new \Monolog\Handler\LogglyHandler(
$logglyConfig['token'],
$logglyConfig['over_notification_log_level']
)
);
あとはログするだけやで!
over_notification_log_level
を \Monolog\Logger::ERROR
を設定した場合
// これはLogglyへ通知される
\Log::error('Logglyへ届けこのログ!!');
// これはLogglyへ通知されない
\Log::warning('Logglyへ届けこのログ!!');
こんな感じで届くやで
他にも色々出力されるけど、それは実際に登録してログ送信してからのお楽しみということで。
あとがき
とっても簡単にできました。
拙い文章失礼しましたー。