记录“商业”交易对象的最佳实践

时间:2009-11-16 08:56:28

标签: c# .net log4net

我应该记录一个“商业”交易对象(例如信用卡处理网关的请求/响应)。

有人提到使用log4net存储...但它感觉不对,特别是考虑到某些信息(即对象上的属性)需要完全省略或按摩(例如只记录最后4位数字)该交易涉及的信用卡)。

我在考虑更多自定义“ITransactionLogger”。想法?

3 个答案:

答案 0 :(得分:5)

我会说你正在“审计”而非“记录”,因为你正在制作具有商业意义的数据。这意味着需要管理,备份等数据。数据库为您提供的所有内容。为了清楚起见,我将使用单独的审计API。

答案 1 :(得分:3)

我对log4net的主要问题是你可以控制输出目标以记录配置文件。如果有人意外或故意更改了该配置文件,则会泄露敏感的财务数据。

我通常不喜欢重新发明轮子,但在这种情况下,你需要一个具有最小配置点和严格控制的记录解决方案。

答案 2 :(得分:1)

您可以在log4net中为特定对象/例外创建自定义格式化程序。我会尝试记录特别省略信用卡详细信息的交易对象。