Filebeat 在取得 laravel log,沒有設定好,會容易發生大量發重複的 log 紀錄,例如報錯一次,就產生98 筆記錄。
首先,如果是少量重複的資料,可能是來自於 ack 延遲發生的問題,所以先設定 required_acks: 0
,但如果可接受少量重複資料,則可略過這個設定。
接著,larval log 一次都會產生非常多行的錯誤訊息,filebeat 會把每一行都當作一個message 紀錄,因此,
可以考慮透過錯誤處理 ```try
第二種laravel log 產生多行的問題,可修改 stacktrace
CVT2HUGO: cache來捕獲錯誤,再透過
Log:info```
CVT2HUGO: ,
開啟 app/Exceptions/Handler.php
CVT2HUGO: 來記錄一行錯誤。
CVT2HUGO: ,增加 ```use Log;``` 以及修改 report 的格式:
use Log;
class Handler extends ExceptionHandler
{
* Report or log an exception.
*
* @param \Throwable $exception
* @return void
*
* @throws \Exception
*/
public function report(Throwable $e)
{
Log::error('['.$e->getCode().'] "'.$e->getMessage().'" on line '.$e->getTrace()[0]['line'].' of file '.$e->getTrace()[0]['file'])
//parent::report($exception);
}