Maison > développement back-end > Golang > Pourquoi mes journaux Go n'écrivent-ils pas dans un fichier ?

Pourquoi mes journaux Go n'écrivent-ils pas dans un fichier ?

Mary-Kate Olsen
Libérer: 2024-12-21 22:08:17
original
497 Les gens l'ont consulté

Why Are My Go Logs Not Writing to File?

Écriture de journaux dans un fichier dans Go

Lorsqu'ils tentent d'écrire des journaux dans un fichier à l'aide du package de journalisation Go standard, les utilisateurs peuvent rencontrer des problèmes où le fichier journal est créé mais reste vide. Pour résoudre ce problème, il est essentiel de comprendre la bonne approche pour écrire des journaux dans un fichier.

Dans le code fourni, vous avez essayé plusieurs approches, notamment :

  • Configuration du système d'exploitation. Stderr et le fichier comme io.MultiWriter pour la sortie du journal.
  • Définition du fichier comme io.Writer pour le journal sortie.
  • Définition directe du fichier comme sortie pour la journalisation.

Cependant, toutes ces méthodes ont échoué car os.Open("logfile") ouvre le fichier en lecture seule , ce qui le rend impropre à l'écriture de journaux.

L'approche correcte consiste à utiliser os.OpenFile("testlogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666). Cela ouvre le fichier à la fois en lecture et en écriture, permettant aux journaux d'être ajoutés au fichier.

En ajoutant cette ligne et en définissant la sortie du journal dans le fichier, vous pouvez réussir à écrire des journaux dans un fichier dans Go :

1

2

3

4

5

6

7

8

f, err := os.OpenFile("testlogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666)

if err != nil {

    log.Fatalf("error opening file: %v", err)

}

defer f.Close()

 

log.SetOutput(f)

log.Println("This is a test log entry")

Copier après la connexion

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!

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