Goのログ出力にglogを使っているのですが、先日、ディスク容量が100%になり、ログが書けないエラーでプログラムが強制終了してしまいました。
おかしいと思いながら調べるとtmpディレクトリ下にglogのログファイルが吐かれていました。
その時は吐かれたログファイルを削除して難を逃れたのですが、「このままではまた同じことが起こる!」と焦りながらログをtmpに吐かない方法を探していました。
結論から言うと、
-logtostderr
のオプションを使用して、
go run main.go -logtostderr
または、ビルドしたファイルに
./glog_test -logtostderr
とするとtmpディレクトリにログが吐かれないようです。
でも、これの説明(godoc)が
-logtostderr=false
Logs are written to standard error instead of to files.
で、この説明をGoogle翻訳すると
ログが標準エラーに代わりのファイルに書き込まれます。
となり、「trueにしたらファイルに書き込む」という意味に見えたので、このオプションは違うなとスルーして「オプションではできないのか!」と思いながらglogのソースを追っていました。
ソースを追って結局このフラグにたどり着くのですが、無駄な時間を過ごしてしまった・・・。
俺の英語力の問題か?w
大量にログを吐かなければ僕みたいな事にはならないと思いますが、glogを使用している方は一度tmpディレクトリを見てみてはいかがでしょうか。