用于写入各种事件日志的设计模式

时间:2011-04-20 19:57:52

标签: design-patterns factory event-log

我们有一个由少数应用程序组成的系统。某些点的每个应用程序都需要为事件日志之一生成一个事件。 (事件日志是数据库中的一个表,其中包含定义事件日志编号,事件类型等的属性。)所有事件日志都具有某些公共属性,但每个日志都有一些特定属性(因此会有一个稀疏表)。每个事件日志都支持自己的一组事件。这些事件决定了要写入哪些附加字段。应用程序知道它必须在某些执行点生成的事件日志编号和事件类型。

我正在寻找可以帮助我们实现这一目标的设计模式。我们需要编写一个可供应用程序使用的库,因此每个开发人员都有一个易于使用的类,用于插入事件数据。在“代码级别”讲话时,我希望减少客户端代码以调用具有特定于其需要生成的事件的签名的单个方法。 到目前为止,我想出了一个工厂(很可能它也是一个Singleton),它将有10个方法(10个事件日志)。每个方法都会生成一个合适的类(比如,EventLog1Entry),它将提供将数据写入db的方法 该怎么做我不知道。 有什么建议吗?

P.S。这是我第一次尝试使用某种设计模式,如果我过于自由地使用专业术语,请原谅我。

1 个答案:

答案 0 :(得分:0)

您可能需要查看log4net - 它已经支持您想要的所有内容,此外还经过了高度优化和广泛测试。

即使您不想“按原样”使用它,它也可能会为您提供一些指示,说明多年来哪些设计已经证明了这一点。