Enregistrer dans un fichier peut se faire de plusieurs manières.
La façon de faire de l'application en 12 facteurs (non seulement la façon de faire de l'application en 12 facteurs, mais les applications en 12 facteurs insistent sur cette méthode) serait de logger vers STDOUT et/ou STDERR, puis de rediriger la sortie ailleurs pour le déploiement. Cela facilite également le développement. De plus, si vous utilisez quelque chose comme des conteneurs pour déployer votre programme, ils enregistrent la sortie STDOUT et STDERR du conteneur dans un fichier au départ.
Le package std lib log
propose deux façons de changer la sortie vers un fichier.
Une méthode est la suivante:
log.SetOutput()
log.Println("quelque message")
L'autre méthode est la suivante:
logger := log.New(, , )
logger.Println("quelque message")
La deuxième option est également comment vous pouvez implémenter différents niveaux de logs (ex: INFO, DEBUG, WARN, ERROR, etc) en ayant un logger distinct pour chaque niveau.
Cependant, logrus vous offre déjà une grande partie de cela, donc c'est probablement votre meilleur choix si vous voulez simplement implémenter rapidement un système de logging.