我正在處理有關功能性日誌記錄(由非開發人員看到的日誌)的問題。一個要求是每個日誌條目添加一個唯一的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都不相同。一種選擇是保持原樣,這是有效的,另一種是爲每個UUID創建常量,這看起來過度。
我的問題:有沒有什麼樣的設計或「好」的方法來做到這一點?
編輯
我已經使用過的想法:
UUID.nameUUIDFromBytes(message.getBytes()).toString();
但如果在某些時候我想改變的消息,該數據庫將不再是向後兼容。所以這個選項已經結束了。
這也是我最初的想法,但containerId更改並且特定日誌條目的UUID應該保持不變,因此我無法使用它。 –