私は機能的なロギング(開発者以外に見られるログ)に関する問題に取り組んでいます。 1つの要件は、ログエントリごとに一意のIDを追加することです。これは、製品管理者が前記IDを照会して、関連するすべてのログ項目を取得できるようなものです。 A(擬似)コードの例を以下に示します。機能的なロギングのための定数UUID(デザイン)
if (something starts or happens here){
//arguments: container id, service name, message, message uuid
functionalLogService.addLog(container.getId(), this.SERVICE_NAME, "this happened", "124e3314-ffad-4b5d-be76-fc6b0f82aeea");
}
私はかなり頻繁にこれをしなければならないと私は本当にloglinesにハードランダムUUIDを持っ好きではありません。 UUIDは、各ログステートメントごとに異なります。 1つのオプションは、それをそのまま残すことです。もう1つは、それぞれのUUIDの定数を作成することです。
私の質問:これを行うには、デザインや「いい」方法はありますか?
UUID.nameUUIDFromBytes(message.getBytes()).toString();
しかし、いくつかの点で私はメッセージを変更したい場合は、データベースはもはや後方互換性がありません:私はすでに使用してのアイデアを持っていた
EDIT
だからこのオプションは外です。
これも私の最初のアイデアでしたが、containerIdが変更され、特定のログエントリのUUIDが一定に保たれるため、これを使用することはできません。 –