Laravel 5.1アプリケーションのMonologログをLoggly.comのオンラインログ管理サービスに送信したいとします。地元の開発を含むすべての可能な環境から。LaravelからLogglyにログイベントを送信するには?
4
A
答えて
6
古いライブラリと複雑な方法があります。だから私は非常に簡単な解決策で終わった。実際、Laravel Monolog HandlerにはすでにLoggly Handlerが用意されています。
/services.php設定への設定情報を追加します:$アプリが返される前に、ブートストラップ/ app.phpでモノローグハンドラを追加ザン
'loggly' => array(
'key' => 'ENTER_YOUR_LOGGLY_TOKEN_HERE',
'tag' => 'ProjectName_' .strtolower(env('APP_ENV')),
),
:
/*
|--------------------------------------------------------------------------
| Setup Loggly Handler
|--------------------------------------------------------------------------
*/
$app->configureMonologUsing(function($monolog) {
$handler = new \Monolog\Handler\LogglyHandler(config('services.loggly.key'),\Monolog\Logger::DEBUG);
$handler->setTag(config('services.loggly.tag'));
$monolog->pushHandler($handler);
});
出来上がりを! LogglyダッシュボードでMonolog Logsを取得しています。
2
Laravelのデフォルトのローカルログの動作を管理し、同じ時刻にmladen-janjetovic'sコードを微調整してLogglyにプッシュすることができました。 「私はまだドンとして、答えとして投稿(ハッサンの貢献に展開する
/*
|--------------------------------------------------------------------------
| Push to Loggly, and save locally.
|--------------------------------------------------------------------------
*/
$app->configureMonologUsing(function($monolog) use ($app) {
$log = $app->make(Illuminate\Log\Writer::class);
$logglyHandler = new \Monolog\Handler\LogglyHandler(config('services.loggly.key'));
$logglyHandler->setTag(config('services.loggly.tag'));
if (config('app.env') == 'production')
{
// Push to Loggly and save local if in production
$log->getMonolog()->pushHandler($logglyHandler);
$log->useFiles(storage_path('/logs/laravel.log'));
}
else
{
// Otherwise, save only locally
$log->useFiles(storage_path('/logs/laravel.log'));
}
});
0
:
'loggly' => [
'key' => 'ENTER_YOUR_LOGGLY_TOKEN_HERE',
'tag' => 'ProjectName_' .strtolower(env('APP_ENV')),
],
ブートストラップ/ app.php:Laravel 5.3
のconfig/services.php上でテストコメントを投稿するには十分な評判がある)。ログファイル名は完全に任意で、もちろん
$logFile = 'laravel'.'.txt';
$log->useDailyFiles(storage_path().'/logs/'.$logFile);
:あなたがローカルで毎日のログを使用する必要がある場合は
すると、次のコードを使用することができます。 5.4へのアップグレードで、このラインはもう動作しません :
laravel-YYYY-MM-DD.txt
編集:この例では、フォーマットは、次のようなことになる回避策として
$log = $app->make(Illuminate\Log\Writer::class);
を、手動でライターのインスタンスを作成することができ、 configureMonologUsing
から入手可能な$ monologを閉鎖する:
$log = new Illuminate\Log\Writer($monolog);
関連する問題
- 1. Winston-loggly - レベルを送る方法:「致命的な」メッセージをlogglyに送るには?
- 2. WSO2 BAM:RESTエンドポイント経由でログイベントを送信する方法
- 3. AndroidからLaravelバックエンドにJWTトークンを送信/送信する方法
- 4. Laravelでフォームを送信するには?
- 5. Laravel ControllerからMailableクラスにデータを送信する方法
- 6. Laravel ControllerからRoute&Viewにデータを送信する
- 7. Laravelのあるテーブルから別のテーブルにデータを送信するには?
- 8. laravelから削除リクエストを送信
- 9. メールアドレスにメールを送信する - Laravel 5.4
- 10. Laravel - ヘッダー内にapi_tokenを送信する
- 11. VueをLaravelに送信する
- 12. ヘルプが必要です... AndroidスタジオからLaravelにデータを送信
- 13. laravelルートからコントローラ機能にデータを送信する方法は?
- 14. laravel 5.3からajax jqueryでWebサービスにデータを送信
- 15. WoocommerceからLaravelにwebhook経由でデータを送信
- 16. PHP LaravelでAPIにデータを送信するには?
- 17. 送信ボタンを「ボタン」から「送信」に変更する
- 18. laravel store関数から通知を送信する
- 19. laravel 5.2からmailgunからメールを送信
- 20. Laravel:電子メールに送信されたビューからページにリダイレクトする
- 21. Laravel 4コントローラからデータを返した後にメールを送信する
- 22. phpからjavascript(Laravel)にデータを送信するときにjsonがエンコードするのはなぜですか?
- 23. Laravelがコントローラからフォームを送信していますか?
- 24. Laravel 5.2でビューに、コントローラからのエラー検証メッセージを送信する方法
- 25. laravelのコントローラからモデル関数に変数を送信する方法
- 26. Laravel 5とAngular。フロントエンドからバックエンドにデータを送信するときのCorsエラー
- 27. 生のHTMLをLaravelで送信し、パラメータを送信する/ var
- 28. AjaxデータをLaravelコントローラに送信
- 29. Laravel VueJS Axiosがコントローラにアレイを送信
- 30. laravelログインルートに変数を送信
ありがとう!魅力のように動作します。 – littlebridge
ここでのみ、この設定を使用してローカルで何もログに記録しません。すべてのログはLogglyにプッシュされます。 – littlebridge
はい、回答を編集してローカルログを含めることができます –