關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

如何避免 filebeat 傳送過多的 Laravel log

| Comments

Filebeat 在取得 laravel log,沒有設定好,會容易發生大量發重複的 log 紀錄,例如報錯一次,就產生98 筆記錄。

首先,如果是少量重複的資料,可能是來自於 ack 延遲發生的問題,所以先設定 required_acks: 0,但如果可接受少量重複資料,則可略過這個設定。

接著,larval log 一次都會產生非常多行的錯誤訊息,filebeat 會把每一行都當作一個message 紀錄,因此,

可以考慮透過錯誤處理 try cache 來捕獲錯誤,再透過 Log:info 來記錄一行錯誤。

第二種laravel log 產生多行的問題,可修改 stacktrace

開啟 app/Exceptions/Handler.php ,增加 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);
    }

最後,如果你喜歡這篇文章,請幫忙點個讚



最新文章推薦

討論

comments powered by Disqus