这是创建日志记录系统的好方法吗



我想创建一个日志系统,不是为了记录异常,而是为了记录用户活动及其对数据的处理。例如,当用户删除一条记录时,我想记录用户名、记录id、日期和。

首先,我决定创建一个日志类,并在所有其他类方法中使用它的方法。但在阅读了一些博客和搜索SO之后,我发现这种方法违背了OOP的SRP原则。

现在我正在考虑另一个解决方案。我还有日志课。但是,与其在所有代码中调用它的方法,我应该使用事件。我正在考虑添加一个侦听器类,该类订阅由其他类调用的事件。

假设在一个页面中,我有一个删除订单的方法:

protected void DeleteOrder(Order order)
{
Orders.Delete(order);
DeletedEvent(this,order); 
}

则订阅者使用发送的数据来创建日志。这个类检查对象类型,并根据类型调用正确的私有方法来使用对象属性创建日志。

这在一般情况下适用吗?如果是,这是一个好方法吗?提前感谢

是的,您的方法很好。

这是MVC.NET应用程序吗?看看这篇文章:

http://weblogs.asp.net/shijuvarghese/archive/2011/07/18/user-activity-logging-in-asp-net-mvc-app-using-action-filter-and-log4net.aspx

相关内容

  • 没有找到相关文章

最新更新