Ich möchte Monolog-Logs von meiner Laravel 5.1-Anwendung an Loggly.com Online-Log-Management-Service senden. Von allen möglichen Umgebungen, einschließlich der lokalen Entwicklung.Wie Log-Ereignis von Laravel Loggly zu senden?
Antwort
Ich habe einige veraltete Bibliotheken und komplizierte Wege gefunden, dies zu tun. So endete ich mit einer sehr einfachen Lösung. Tatsächlich haben Laravel Monolog Handler bereits Loggly Handler out of the box.
Config Info hinzufügen/services.php config:
'loggly' => array(
'key' => 'ENTER_YOUR_LOGGLY_TOKEN_HERE',
'tag' => 'ProjectName_' .strtolower(env('APP_ENV')),
),
als Monolog-Handler in Bootstrap/app.php hinzufügen, bevor $ app zurückgegeben:
/*
|--------------------------------------------------------------------------
| 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);
});
Voila! Sie erhalten Ihre Monolog-Logs im Loggly-Dashboard.
Ich war in der Lage, Laravel Standard lokalen Log-Verhalten zu haben, und drängen auf Loggly in der gleichen Zeit, indem Sie mladen-janjetovic's Code ein wenig zwicken. Getestet auf Laravel 5.3
config/services.php:
'loggly' => [
'key' => 'ENTER_YOUR_LOGGLY_TOKEN_HERE',
'tag' => 'ProjectName_' .strtolower(env('APP_ENV')),
],
Bootstrap/app.php:
/*
|--------------------------------------------------------------------------
| 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'));
}
});
Um auf Hassan Beitrag zu erweitern (Entsendung als Antwort, als ich noch don‘ Ich habe genug Reputation, um einen Kommentar zu schreiben.
Wenn Sie eine Notwendigkeit, vor Ort die Tagebücher zu verwenden, können Sie folgenden Code verwenden:
$logFile = 'laravel'.'.txt';
$log->useDailyFiles(storage_path().'/logs/'.$logFile);
Natürlich Logfile Name völlig willkürlich ist.
laravel-YYYY-MM-DD.txt
Edit:: mit einem Upgrade auf 5.4 diese Zeile nicht mehr funktioniert: In diesem Beispiel Format als solche wird
$log = $app->make(Illuminate\Log\Writer::class);
Als Abhilfe können Sie Writer-Instanz erstellen können manuell, Einspritzung $ Monolog verfügbar von configureMonologUsing
Schließung:
$log = new Illuminate\Log\Writer($monolog);
- 1. Loglog mit log4net-loggly senden
- 2. Android Logereignis
- 3. Kostenlose Alternative zu Loggly
- 4. Loggly Leistung
- 5. Was ist der maximale Durchsatz von Loggly?
- 6. Problema Senden von JSON-Datei von JavaScript zu Laravel-Controller
- 7. Laravel 5.2 keine Ereignisse zu senden
- 8. So senden/POST JWT-Token von Android zu Laravel Backend
- 9. Senden von Base64-Bildern mit Laravel
- 10. Wie csrf_token() in AngularJS Formular mit Laravel API zu senden?
- 11. Gruppierung Winston Loggly Ausgabe mit Tags?
- 12. AJAX Form Laravel Senden
- 13. Loggly funktioniert nicht über Winston auf Pi
- 14. scheint wie Laravel keine E-Mail von sendgrid smtp Senden
- 15. Senden Sie Daten ohne Formular senden von JavaScript zu Laravel 5-Controller mit Ajax Post
- 16. Laravel Senden no-cache-Header
- 17. Angularjs senden Parameter-Array zu Laravel GET Route
- 18. Laravel Mailgun senden zwei Mail
- 19. Laravel 5: E-Mail senden
- 20. Laravel 4 zwei senden Buttons
- 21. Laravel Testcase nicht zu senden Authorization Header (JWT Token)
- 22. Senden von Mails von Mailgun aus Laravel 5.2 Anwendung
- 23. Laravel Mail :: send() oder bcc zu mehreren Senden Adressen
- 24. Senden von Heroku-Protokollen an s3
- 25. Der beste Weg, von PHP eine Variable zu Javascript zu senden, mit Laravel
- 26. Laravel senden E-Mail, Konfiguration und Skript senden
- 27. Senden von E-Mail in Laravel mit benutzerdefinierten HTML
- 28. Wie Laravel Socialite zu testen
- 29. wie laravel zu json zu parsen, und es von android
- 30. Laravel json Datum senden nicht als String
Vielen Dank! Klappt wunderbar. – littlebridge
Einzige Sache hier, Sie werden nichts lokal mit dieser Konfiguration protokollieren. Jedes Protokoll wird zu Loggly verschoben. – littlebridge
ja, fühlen Sie sich frei, Antwort zu bearbeiten, um lokale Protokolle einzubeziehen –