Maison > développement back-end > Golang > le corps du texte

Comment corriger l'erreur « Mauvais descripteur de fichier » lors de l'ajout au fichier de journalisation dans Golang ?

Barbara Streisand
Libérer: 2024-11-11 02:02:02
original
336 Les gens l'ont consulté

How to Fix

Golang : résolution de l'erreur « Descripteur de fichier incorrect » lors de l'ajout au fichier de journalisation

Lors de la tentative d'ajout à un fichier de journalisation dans une routine Go , certains développeurs rencontrent une erreur « mauvais descripteur de fichier ». Même si le fichier existe et dispose des autorisations appropriées, le problème persiste.

Analyse et solution

Une enquête plus approfondie révèle que l'erreur est due à l'absence de l'indicateur O_WRONLY. dans l'appel de fonction OpenFile. Par défaut, le descripteur de fichier obtenu est en lecture seule.

Pour remédier à ce problème, ajoutez l'indicateur O_WRONLY à l'appel de la fonction os.OpenFile. Voici le code corrigé :

if f, err := os.OpenFile("./log.log", os.O_APPEND|os.O_WRONLY, os.ModeAppend); err != nil {
    /*[...]*/
}
Copier après la connexion

Comme documenté dans la page de manuel de la fonction ouverte Linux, l'un des modes d'accès suivants doit être spécifié : O_RDONLY, O_WRONLY ou O_RDWR. Ces indicateurs indiquent respectivement un accès en lecture seule, en écriture seule ou en lecture/écriture. Dans ce cas, l'utilisation de O_APPEND seul entraîne un descripteur de fichier en lecture seule, conduisant à l'erreur. L'ajout de l'indicateur O_WRONLY garantit un descripteur de fichier en écriture seule.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal