17

golang で書かれた小さな Web アプリケーションのロギングを作り直しています。外部要件により、ロギングは 1 か所に分離されているため、後でロギング サーバーに切り替えることができます。(私の考えではありません-約束します....)それでも、日付/時刻、行番号、ユーザー、メッセージなどの一般的なものを、主に標準ライブラリの一部と渡しているユーザー/セッション構造体を使用してログに記録できるようになりましたその周り。

しかし、ここで質問があります。低レベルのメソッドでは、ログ記録のためにユーザー名を取得するためだけにセッションを渡すのは無駄です。そのため、ログ ファイルで 1 つの特定の要求を見つけるために使用する何か他のものを見つけたいと思います。私が考えていなかった明らかな何かがあると確信しています。

これまでのアイデア:

  • Java ロギング フレームワークはスレッド ID を出力できますが、この場合もそれで十分です。golangで別の名前で呼ばれているだけですか?
  • 何らかの形でユーザー/セッション構造体をグローバルにアクセスできるようにします。(検索キーとして使用するスレッドがない限り、セッション ID を渡す必要があります。アイデア番号 1 に戻ります。)
  • とにかくあきらめて、ユーザー/セッション構造体を渡します。
  • 最下位レベルではエラーをログに記録しませんが、ユーザー/セッション構造体が利用可能な場合にのみログに記録します。ただし、行番号はそれほど良くありません。

私たちはゴリラの一部を Web 用に使用しており、それ以外はほとんどが標準ライブラリです。

これに関する提案やアイデアはありますか?

4

1 に答える 1