Correction du problème de « mauvais descripteur de fichier » dans la routine de journalisation Go
Lorsque vous rencontrez l'erreur « mauvais descripteur de fichier » lors de l'ajout à un fichier de journalisation dans une routine Go, il est important d’enquêter sur la cause sous-jacente. L'erreur suggère que le descripteur de fichier n'est pas valide ou inapproprié pour l'opération prévue.
Dans ce cas particulier, le problème vient du fait que l'on a négligé de spécifier l'indicateur approprié lors de l'ouverture du fichier journal. Par défaut, la fonction os.OpenFile de Go ouvre le fichier en mode lecture seule, d'où l'erreur "mauvais descripteur de fichier" lors de la tentative d'écriture dessus.
La solution réside dans l'ajout de l'indicateur O_WRONLY au système d'exploitation. Appel OpenFile. Cet indicateur indique que le fichier doit être ouvert en écriture, garantissant que le descripteur de fichier obtenu est valide pour les opérations d'écriture. Voici le code corrigé :
if f, err := os.OpenFile("./log.log", os.O_APPEND|os.O_WRONLY, os.ModeAppend); err != nil { /*[...]*/ }
En incorporant l'indicateur O_WRONLY, la routine Go peut ouvrir avec succès le fichier journal en écriture et ajouter des messages de journal sans rencontrer l'erreur « mauvais descripteur de fichier ».
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!