私が歌川です

@utgwkk が書いている

ログ

ログ*1、油断すると絶妙に情報量が足りなかったり、欲しいものがdebugレベルでしか出ていなくて本番環境で見れなかったりしがち。ここでこういうログが欲しくなるだろう、という感覚を鍛えるには、実際にログが足りなくて困る経験をするしかないのか、もうちょっと高速道路が整備されているものなのか。

外部APIにリクエストを送る部分はとりあえずリクエスト・レスポンスの内容を (ユーザー個人情報などには気をつけながら) ログ出力しておくと調査に役に立つ、というのはありそう。GoのgRPCクライアントのミドルウェアにはまさにそういうのがあるし、HTTPクライアントにログ出力の仕組みを差し込むのもすぐできる。自分のシステムに閉じていない部分はこういう仕組みが整っていそう。

ほかにはアプリケーションごとに固有の事情に合わせることにもなるだろう。何が重要で、調査をしたくなるか、そしてアプリケーションログではなくもっと永続的なデータとして残したくなるか? ログとログデータの区別はどこに生じるのか?

*1:ここではWebアプリケーションやサブシステムなどのアプリケーションから出力するログを指す