Go でファイルにログを書き込む
標準の Go ログ パッケージを使用してファイルにログを書き込もうとすると、問題が発生する可能性がありますログ ファイルは作成されますが、空のままです。これを解決するには、ログをファイルに書き込むための正しいアプローチを理解することが重要です。
提供されたコードでは、次のような複数のアプローチを試みています。
ただし、os.Open("logfile") はファイルを読み取り専用で開くため、これらのメソッドはすべて失敗します。
正しいアプローチは、 os.OpenFile("testlogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND、0666)。これにより、ファイルが読み取りと書き込みの両方で開かれ、ログをファイルに追加できるようになります。
この行を追加し、ログ出力をファイルに設定すると、Go でファイルにログを正常に書き込むことができます。
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")
以上がGo ログがファイルに書き込まれないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。