Log 與 Error Handling:打造可觀測系統的基石
在系統開發中,有效的 Log 與 Error Handling 是快速定位問題的關鍵。本文將分享從 Log 分級、結構化日誌到錯誤處理策略的最佳實踐,協助你打造更穩健、更具可觀測性的系統。
閱讀更多這個分類下的所有文章都與「軟體開發」相關。探索更多相關內容!
在系統開發中,有效的 Log 與 Error Handling 是快速定位問題的關鍵。本文將分享從 Log 分級、結構化日誌到錯誤處理策略的最佳實踐,協助你打造更穩健、更具可觀測性的系統。
閱讀更多使用 RabbitMQ 來建立一個 Event-Driven 的縮網址點擊分析的功能。透過生產者與消費者模型,讓服務與數據分析的行為解耦。避免後續增修數據分析功能時,影響到原本正常的功能。
閱讀更多本文介紹了在 .NET Core 中如何設定及使用 JWT Authentication,包含 Middleware 的設定、JWT Token 的驗證條件設定、產生 JWT Token 的程式、輸出 Authentication 失敗訊息的方式等。
閱讀更多排除 ASP.NET Core 無限重定向的問題。因系統架構限制 Web API 只能透過反向代理 (Reverse Proxy) 訪問,而反向代理使用 HTTP 訪問 Web API,但因為 Web API 中,使用 UseHttpsRedirection 強制重定向到 HTTPS。最終造成重定向次數過多的情形。
閱讀更多本文介紹如何在 Docker 環境中使用 Let's Encrypt 和 Certbot 申請免費 SSL/TLS 憑證,並設定 Nginx 支持 HTTPS。作法包括直接在 Ubuntu 主機使用 Certbot 配合 volume 掛載申請憑證,以及使用 Certbot 官方 Docker Image 的申請流程。
閱讀更多本文紀錄使用 Docker Compose 在 Digital Ocean Ubuntu VPS 上架設縮網址服務的過程,包括環境設定、服務架構規劃、Docker image 管理、網路與安全設定等。適合想學習如何利用容器技術架設 Web 服務的讀者。
閱讀更多本文探討 EF Core 的 DBContext 與 Entity Type 客制化,透過 CodeTemplate 實現客制化。包含使用 Shadow Properties,以及重寫 DBContext 的 SaveChanges 自動更新欄位。
閱讀更多當 .NET Core 要使用 EF Core 去存取 PostgreSQL 時,可以先使用 dotnet-ef 的工具,協助產生對應 PostgreSQL schema 的 DBContext
閱讀更多分享三種在 EF Core 2.0 後的查詢過濾資料的方法。並著重說明 EFCore 2.0 後提供的 Global Query Filter 功能,它可以讓開發人員在模型建立期間設定預設的查詢過濾條件,這樣在所有的查詢中都會自動套用這個過濾條件,簡化查詢程式碼並避免查詢錯誤。
閱讀更多在 ASP.NET Core 中,當封裝依賴注入(DI)的註冊行為時,同時使用外部參數來建立不同的對象,本文介紹了兩種方法:直接使用 IHttpContextAccessor 和封裝 DI 所需的參數。並推薦使用後者,在不公開服務實作的前提下,通過介面獲取外部參數,以提高程式碼的可維護性和彈性。
閱讀更多如何運用 ChatGPT 進行 Pair-Programming,並以使用 Flutter 撰寫 APP 為例,如何利用 ChatGPT 協助程式設計、概念詢問、程式碼修改與實作等方面,並提供注意事項。並提到 ChatGPT 在回答問題時有時會回答與問題無關的內容,使用者需要在 prompt 中加入回答的限制。
閱讀更多當開發多租戶的 API 時,已知 API 的 Route 中必定含有 tenantId。因此希望在建立服務的時候,可以根據 tenantId 直接建立對應的服務。那要如何從 DI 的角度切入,讓它協助創建不同參數的物件。
閱讀更多建立 SQL Server on Docker 時,有一些持久性的議題必須特別注意。同時,使用 EF Core 連接 SQL Server 時,連線字串設定不當,也會造成連線失敗。
閱讀更多日前在使用 IIS 10 進行 SSL 伺服器憑證的申請與更新作業時,發生 F5 重整時,伺服器憑證消失的問題。在排查過程中,發現一些有趣的地方,所以將其特別記錄下來。
閱讀更多Log 寫太多怕影響效能,寫太少又怕資訊不足。本文將探討如何設計有效的 Log,從 Log 的目的、分級、內容到結構化日誌,協助你找到 Log 設計的最佳平衡點。
閱讀更多在進行 Post-Redirect-Get 實作時,301 redirect 到目標的網址時,發生回應 405。其問題的原因與 Postman 的設定及目標網址允許的 HTTP 方法有關。
閱讀更多深入探討 YAML 語法規則與最佳實踐,學習如何撰寫清晰、高效的設定檔。本文從基礎格式、資料類型到進階語法如錨點與引用、多行字串,並提供常見錯誤與安全考量,助你掌握 YAML 在 DevOps 和 CI/CD 中的應用,輕鬆應對 Travis CI、Azure Pipelines 等工具的組態設定。
閱讀更多這是一位 SOHO 族從無到有、一步一步建立自己的 CI/CD 的故事。隨著故事的推進,將逐一提及版控、測試、訊息通知、CI/CD、Container 等概念,最終將其串接為一條自動化發佈的流水線。
閱讀更多