Seringkali saat coding menggunakan teknik OOP, kita membuat Class sendiri, ternyata Class yang kita buat sudah memiliki nama, jadi pertanyaannya adalah kita ingin mengetahui letak file Class tersebut
Solusinya adalah dengan menggunakan ReflectionClass
Misal kita membuat class Loader ternyata Class Loader sudah ada, untuk mengetahui dimana class Loader berada gunakan ReflectionClass
Secara default, Laravel menyimpan log kesalahan di file storage/logs/laravel.log, nah kita bisa mengirimkan log ini ke Elasticsearch atau agregator log lainnya dengan bantuan logstash. Dengan mengirimkan data melalui aplikasi yang berbeda, kami mengurangi beban pada Laravel (PHP) untuk mengolah log, sehingga kinerja aplikasi bisa lebih optimal
Logstash adalah aplikasi yang digunakan untuk memproses, memfilter, dan mengirim log. Secara sederhana, Logstash bisa kita gunakan untuk memformat log sesuai kebutuhan. Ada banyak cara untuk memformat dan memfilter data di logstash, kali ini kita akan menggunakan grok, grok adalah sebuah plugin yang dikhususkan untuk mengolah log yang tidak beraturan dengan mengubahnya sesuai aturan yang kita buat
Cara ini bisa digunakan untuk aplikasi Laravel yang menggunakan banyak server, cukup install Logstash di setiap server dengan config yang sama
Contoh log Laravel
Berikut adalah contoh log Laravel yang akan kita gunakan. Sebaiknya gunakan log dari server produksi, agar lebih mudah melihat hasil dan memvalidasi apakah sudah sesuai keinginan
[2021-09-20 15:06:32] local.ERROR: Method App\Http\Controllers\HelloData::() does not exist {"exception":"[object] (ReflectionException(code: 0): Method App\\Http\\Controllers\\BankController::() does not exist at /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php:48) [stacktrace] #0 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php(48): ReflectionMethod->__construct() #1 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php(26): Illuminate\\Routing\\RouteSignatureParameters::fromClassMethodString() #2 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php(506): Illuminate\\Routing\\RouteSignatureParameters::fromAction() #3 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php(25): Illuminate\\Routing\\Route->signatureParameters() #4 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(832): Illuminate\\Routing\\ImplicitRouteBinding::resolveForRoute() #5 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Router->substituteImplicitBindings() #6 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle() #7 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #8 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle() #9 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #10 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle() #11 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #12 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest() #13 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle() #14 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #15 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle() #16 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #17 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle() #18 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #19 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then() #20 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack() #21 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute() #22 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute() #23 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch() #24 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}() #25 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #26 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle() #27 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle() #28 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #29 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle() #30 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle() #31 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #32 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle() #33 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #34 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle() #35 /var/www/project.jaranguda.com/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #36 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle() #37 /var/www/project.jaranguda.com/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #38 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle() #39 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #40 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then() #41 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter() #42 /var/www/project.jaranguda.com/vendor/laravel/octane/src/ApplicationGateway.php(36): Illuminate\\Foundation\\Http\\Kernel->handle() #43 /var/www/project.jaranguda.com/vendor/laravel/octane/src/Worker.php(92): Laravel\\Octane\\ApplicationGateway->handle() #44 /var/www/project.jaranguda.com/vendor/laravel/octane/bin/swoole-server(117): Laravel\\Octane\\Worker->handle() #45 [internal function]: {closure}() #46 /var/www/project.jaranguda.com/vendor/laravel/octane/bin/swoole-server(163): Swoole\\Server->start() #47 {main} "} [2021-11-23 03:05:51] production.ERROR: Class "Laravel\Octane\Octane" not found {"exception":"[object] (Error(code: 0): Class \"Laravel\\Octane\\Octane\" not found at /var/www/project.jaranguda.com/config/octane.php:71) [stacktrace] #0 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php(72): require() #1 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php(39): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->loadConfigurationFiles() #2 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(237): Illuminate\\Foundation\\Bootstrap\\LoadConfiguration->bootstrap() #3 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\\Foundation\\Application->bootstrapWith() #4 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\\Foundation\\Console\\Kernel->bootstrap() #5 /var/www/project.jaranguda.com/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle() #6 {main} "} [2022-02-18 04:27:08] local.ERROR: Connection refused {"exception":"[object] (RedisException(code: 0): Connection refused at /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:153) [stacktrace] #0 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(153): Redis->connect() #1 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(84): Illuminate\\Redis\\Connectors\\PhpRedisConnector->establishConnection() #2 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php(263): Illuminate\\Redis\\Connectors\\PhpRedisConnector->Illuminate\\Redis\\Connectors\\{closure}() #3 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(121): tap() #4 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(28): Illuminate\\Redis\\Connectors\\PhpRedisConnector->createClient() #5 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(32): Illuminate\\Redis\\Connectors\\PhpRedisConnector->Illuminate\\Redis\\Connectors\\{closure}() #6 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(112): Illuminate\\Redis\\Connectors\\PhpRedisConnector->connect() #7 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(91): Illuminate\\Redis\\RedisManager->resolve() #8 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(258): Illuminate\\Redis\\RedisManager->connection() #9 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(62): Illuminate\\Cache\\RedisStore->connection() #10 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(97): Illuminate\\Cache\\RedisStore->get() #11 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php(67): Illuminate\\Cache\\Repository->get() #12 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Store.php(97): Illuminate\\Session\\CacheBasedSessionHandler->read() #13 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Store.php(87): Illuminate\\Session\\Store->readFromHandler() #14 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Store.php(71): Illuminate\\Session\\Store->loadSession() #15 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(147): Illuminate\\Session\\Store->start() #16 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php(263): Illuminate\\Session\\Middleware\\StartSession->Illuminate\\Session\\Middleware\\{closure}() #17 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(148): tap() #18 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Session\\Middleware\\StartSession->startSession() #19 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest() #20 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle() #21 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #22 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle() #23 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #24 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle() #25 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #26 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then() #27 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack() #28 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute() #29 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute() #30 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch() #31 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}() #32 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #33 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle() #34 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle() #35 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #36 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle() #37 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle() #38 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #39 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle() #40 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #41 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle() #42 /var/www/project.jaranguda.com/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #43 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle() #44 /var/www/project.jaranguda.com/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #45 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle() #46 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}() #47 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then() #48 /var/www/project.jaranguda.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter() #49 /var/www/project.jaranguda.com/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle() #50 /var/www/project.jaranguda.com/server.php(21): require_once('/home/tommy/git...') #51 {main} "}
Cara berikut ini bisa dijalankan di server Linux secara langsung
1. Unduh Logstash.dll
Unduh logstash versi terbaru
mkdir ~/src cd ~/src wget //artifacts.elastic.co/downloads/logstash/logstash-8.0.0-linux-x86_64.tar.gz tar zxvf logstash-8.0.0-linux-x86_64.tar.gz_
struktur file logstash
. ├── bin ├── config ├── CONTRIBUTORS ├── data ├── Gemfile ├── Gemfile.lock ├── jdk ├── lib ├── LICENSE.txt ├── logs ├── logstash-core ├── logstash-core-plugin-api ├── modules ├── NOTICE.TXT ├── tools ├── vendor └── x-pack 12 directories, 5 files
2. Konfigurasi Logstash
Di folder config, buat file dengan nama laravel.conf, yang berisi
input { file { path => "/var/www/project.jaranguda.com/storage/logs/laravel.log" start_position => "beginning" codec => multiline { pattern => "\[[\d]{4}" negate => "true" what => "previous" } } } filter { grok { match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\] %{DATA:env}\.%{DATA:severity}: %{DATA:message}" } } } output { stdout { codec => rubydebug } elasticsearch { hosts => "server.elasticsarch.jaranguda.com" data_stream => "true" } }
Keterangan
jalur. lokasi log laravel
codec. untuk mendapatkan kesalahan dan stacktrace-nya
agar logstash mengenali konfigurasi laravel.conf di atas, tambahkan baris berikut di pipelines.yml
- pipeline.id: laravel path.config: "~/src/logstash-8.0.0/config/laravel.conf"_
akhirnya jalankan logstash dari terminal
~/src/logstash-8.0.0/bin/logstash
tunggu beberapa detik hingga muncul output yaitu format yang akan dikirim ke elasticsearch, bisa juga dicek di elasticsearch/kibana
Catatan
Ada cara yang lebih baik untuk mengolah log ini dari Laravel, dengan catatan dari Laravel sendiri sudah menyimpan log-nya dalam format json
Artikel menarik lainnya
Laravel Menambahkan Batas Memori PHP
Ketika Anda menemukan kesalahan seperti di bawah FatalErrorException Ukuran memori yang diizinkan 134217728 byte habis ...
Kolom Laravel 5 Tidak Dikenal
Error yang muncul di Laravel 5 SQLSTATE[42S22]. Kolom tidak ditemukan. 1054 Unit kolom tidak dikenal '. id' di…
Laravel 5. 2 Pembantu HTML
Untuk menginstal HTML Helper di Laravel 5 jalankan perintah composer require laravelcollective/html lalu buka file...
Pembaca Umpan Sederhana dengan PHP
Untuk mem-parsing data umpan dari situs web, kami akan menggunakan SimplePie. Pertama unduh SimplePie dari…