Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membetulkan Ralat 'Deskriptor Fail Buruk' Semasa Melampirkan Fail Log di Golang?

Bagaimana untuk Membetulkan Ralat 'Deskriptor Fail Buruk' Semasa Melampirkan Fail Log di Golang?

Barbara Streisand
Lepaskan: 2024-11-11 02:02:02
asal
371 orang telah melayarinya

How to Fix

Golang: Menyelesaikan Ralat "Deskriptor Fail Buruk" Semasa Melampirkan pada Fail Pengelogan

Apabila cuba menambah fail pengelogan dalam rutin Go , sesetengah pembangun menghadapi ralat "deskriptor fail buruk". Walaupun memastikan fail itu wujud dan mempunyai kebenaran yang sewajarnya, isu ini berterusan.

Analisis dan Penyelesaian

Penyiasatan lanjut mendedahkan bahawa ralat timbul disebabkan ketiadaan bendera O_WRONLY dalam panggilan fungsi OpenFile. Secara lalai, deskriptor fail yang diperoleh adalah baca sahaja.

Untuk membetulkan isu ini, tambahkan bendera O_WRONLY pada panggilan fungsi os.OpenFile. Berikut ialah kod yang diperbetulkan:

if f, err := os.OpenFile("./log.log", os.O_APPEND|os.O_WRONLY, os.ModeAppend); err != nil {
    /*[...]*/
}
Salin selepas log masuk

Seperti yang didokumenkan dalam halaman manual fungsi terbuka Linux, salah satu daripada mod akses berikut mesti ditentukan: O_RDONLY, O_WRONLY atau O_RDWR. Bendera ini masing-masing menunjukkan akses baca sahaja, tulis sahaja atau baca/tulis. Dalam kes ini, menggunakan O_APPEND sahaja menghasilkan deskriptor fail baca sahaja, yang membawa kepada ralat. Menambah bendera O_WRONLY memastikan deskriptor fail tulis sahaja.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Deskriptor Fail Buruk' Semasa Melampirkan Fail Log di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan