Laravel 如何寫 Log

閱讀時間約 2 分鐘
Laravel的日誌系統底層是Monolog,設定在config\logging.php裡面,預設路徑是在storage\logs\laravel.log,也可以更改成喜歡的路徑。
Log Channel:
Log有很多Channel可以選,如下圖:
single就是把log都寫在同一份,daily表示每天產生一份log,其中的days表示要保存最近幾天內的logs,以這個例子而言,超過14天的都會被自動刪除。

Log Level:
LOG_LEVEL會把大於等於目前level的都print出來,log級別順序由上到下為:
emergency、alert、critical、error、warning、notice、info 、debug
由於預設log level為debug,所以所有級別的log都會print出來。

Laravel Framework version: 8.13.0
做個測試,在.env檔案中的LOG_CHANNEL使用stack,可以把channel合併起來,例如像是我把single跟daily合起來,指定寫在不同file name。
可以發現log紀錄的時間慢了8個小時,要修改config\app.php中的timezone:
改為Asia/Taipei
之後就發現對了:
可是log中都沒有記錄檔名跟行數,這樣以後查log會很麻煩,survey了一下,可以把程式碼改成這樣:
但是這樣寫如果日後要改log format會累死,因此可以改成helper function。
可參考我這篇: Laravel 建立 Helper function
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
21會員
161內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
本筆記遵循官方文件教學,經過一些小修改,經測試可以跑在Laravel Framework version: 8.13.0,將筆記記錄下來。 ......
JWT全名JSON Web Token,因符合RESTful API無狀態原則而誕生。 傳統我們通常會用cookie/session的方式來做身分認證,也就是user登入後,用session id當作一種token,來做身份認證。 然而用session這種方法server會有額外的儲存負擔...
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod
Laravel Framework version: 8.12.3 本範例做了兩個,一個是進到首頁顯示hello world!,另一個是進到article頁面時,從資料庫把文章抓出來顯示。 ...
Note: 本筆記使用的是Windows 10作業系統 1. 下載並安裝WAMP或XAMPP等等 本文是使用wamp,這邊略過安裝教學。 2. 下載並安裝Composer 至官網下載Composer windows installer,到這一步驟時,選擇PHP版本位置: ...
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
本筆記遵循官方文件教學,經過一些小修改,經測試可以跑在Laravel Framework version: 8.13.0,將筆記記錄下來。 ......
JWT全名JSON Web Token,因符合RESTful API無狀態原則而誕生。 傳統我們通常會用cookie/session的方式來做身分認證,也就是user登入後,用session id當作一種token,來做身份認證。 然而用session這種方法server會有額外的儲存負擔...
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod
Laravel Framework version: 8.12.3 本範例做了兩個,一個是進到首頁顯示hello world!,另一個是進到article頁面時,從資料庫把文章抓出來顯示。 ...
Note: 本筆記使用的是Windows 10作業系統 1. 下載並安裝WAMP或XAMPP等等 本文是使用wamp,這邊略過安裝教學。 2. 下載並安裝Composer 至官網下載Composer windows installer,到這一步驟時,選擇PHP版本位置: ...
你可能也想看
Google News 追蹤
Thumbnail
上週停了一次,這週感覺如果不寫一篇,就會変成三週記,然後會一直發懶,到変成月記之類的。但也不想硬擠,無病呻吟,畢竟現在有《思路》已經差不多是日日在記錄,所以《Brief a Week》就得挑些重點記錄。 在方格子那邊的討論區裏跟林燃(創作小說家)談起各平台的付費閱讀機制,本來就想一篇,但又一直
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
呈上次使用logging來撰寫日誌,利用類別包裝的方式,可實現多個日誌紀錄器,但發現這樣就失去它原先,可以回傳是誰呼叫他並記錄行數的功能。 [Python]使用logging創建兩個以上的日誌紀錄 若開啟函式名稱、行數及訊息的功能,就會像這樣,幾乎都是記錄到,我定義中類別的函式
Thumbnail
logging 是 Python 中用於記錄程式運行時信息的模組,它可以幫助你在開發過程中更好地管理和追蹤程式的執行狀態和錯誤信息。 本文較著重使用兩種不同的方法來創建日誌紀錄。 其他有關logging的教學,我推薦以下文章,他介紹蠻詳細的,我就不多贅述了。
Thumbnail
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪裡?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完
Migration在 Laravel 中是一種用來管理資料庫結構變更的機制。它的主要目的是使開發者能夠在應用程序的不同環境中保持資料庫結構的一致性,並輕鬆地進行結構變更
Thumbnail
上週停了一次,這週感覺如果不寫一篇,就會変成三週記,然後會一直發懶,到変成月記之類的。但也不想硬擠,無病呻吟,畢竟現在有《思路》已經差不多是日日在記錄,所以《Brief a Week》就得挑些重點記錄。 在方格子那邊的討論區裏跟林燃(創作小說家)談起各平台的付費閱讀機制,本來就想一篇,但又一直
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
呈上次使用logging來撰寫日誌,利用類別包裝的方式,可實現多個日誌紀錄器,但發現這樣就失去它原先,可以回傳是誰呼叫他並記錄行數的功能。 [Python]使用logging創建兩個以上的日誌紀錄 若開啟函式名稱、行數及訊息的功能,就會像這樣,幾乎都是記錄到,我定義中類別的函式
Thumbnail
logging 是 Python 中用於記錄程式運行時信息的模組,它可以幫助你在開發過程中更好地管理和追蹤程式的執行狀態和錯誤信息。 本文較著重使用兩種不同的方法來創建日誌紀錄。 其他有關logging的教學,我推薦以下文章,他介紹蠻詳細的,我就不多贅述了。
Thumbnail
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪裡?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完
Migration在 Laravel 中是一種用來管理資料庫結構變更的機制。它的主要目的是使開發者能夠在應用程序的不同環境中保持資料庫結構的一致性,並輕鬆地進行結構變更