修正Go 日誌記錄程式中的「錯誤檔案描述子」問題
附加到日誌檔案時遇到「錯誤檔案描述符」錯誤在Go 例程中,調查根本原因非常重要。此錯誤表示文件描述符無效或不適合預期操作。
在這種特殊情況下,問題源於在開啟日誌檔案時忽略指定適當的標誌。預設情況下,Go 的 os.OpenFile 函數以唯讀模式開啟文件,因此在嘗試寫入時會出現「錯誤檔案描述子」錯誤。
解決方案在於向 os.OpenFile 新增 O_WRONLY 標誌。打開檔案調用。該標誌表示應該打開文件進行寫入,確保獲取的文件描述符對於寫入操作有效。以下是修正後的程式碼:
if f, err := os.OpenFile("./log.log", os.O_APPEND|os.O_WRONLY, os.ModeAppend); err != nil { /*[...]*/ }
透過合併 O_WRONLY 標誌,Go 程式可以成功開啟記錄檔進行寫入並附加日誌訊息,而不會遇到「錯誤檔案描述符」錯誤。
以上是為什麼我的 Go 日誌記錄例程中出現「錯誤檔案描述子」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!