質問: Go言語、echoフレームワークで開発を行っています。 ロガーの設計をしていて、スレッドIDに相当するものをログにはきたいのですが良い方法が分かりません。 例えば複数のアクセスで同時にログイン処理があった場合、片方で成功して片方で失敗したとして どちらが失敗したのかログを見て判別できません。 調べたら、Go言語ではgoroutineのidは存在するが取得はしてはいけない、 そもそも同じスレッドでgoroutineが同じというわけではないとありました。 どうしたらスレッドの識別を行うことができますか? またはログにはけるパッケージはありますか?
回答: ロガーについては、以下を参考に http://golang.jp/pkg/log http://blog.satotaichi.info/logging-frameworks-for-go/ http://qiita.com/umisama/items/1da853224f4ddac65b93 ちなみに、スレッド等に関する問題はいかが為になるかと。 http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide#1 個人的には、Web限定でいうならば、アクセスごとにUUIDを生成して、それを出力することで、アクセスごとの識別にすると思います。