我应该记录一个“商业”交易对象(例如信用卡处理网关的请求/响应)。
有人提到使用log4net存储...但它感觉不对,特别是考虑到某些信息(即对象上的属性)需要完全省略或按摩(例如只记录最后4位数字)该交易涉及的信用卡)。
我在考虑更多自定义“ITransactionLogger”。想法?
答案 0 :(得分:5)
我会说你正在“审计”而非“记录”,因为你正在制作具有商业意义的数据。这意味着需要管理,备份等数据。数据库为您提供的所有内容。为了清楚起见,我将使用单独的审计API。
答案 1 :(得分:3)
我对log4net的主要问题是你可以控制输出目标以记录配置文件。如果有人意外或故意更改了该配置文件,则会泄露敏感的财务数据。
我通常不喜欢重新发明轮子,但在这种情况下,你需要一个具有最小配置点和严格控制的记录解决方案。
答案 2 :(得分:1)
您可以在log4net中为特定对象/例外创建自定义格式化程序。我会尝试记录特别省略信用卡详细信息的交易对象。