将记录代码与C#对象分离

Jef*_*Pry 10 c# logging error-logging

目前我在C#中有一个自定义构建的静态日志记录类,可以使用以下代码调用:

EventLogger.Log(EventLogger.EventType.Application, string.Format("AddData request from {0}", ipAddress));
Run Code Online (Sandbox Code Playgroud)

调用它时,它只会写入配置文件中指定的已定义日志文件.

但是,由于我必须记录许多事件,因此我的代码开始变得难以阅读,因为所有的日志消息都是如此.

是否有一种既定的方法来从C#类中的对象和方法中或多或少地分离日志代码,这样代码就不会变得难以驾驭?

提前感谢大家的帮助,因为这是我最近一直在努力的事情.

Tho*_*ans 4

我喜欢 PostSharp 提供的 AOP 功能。在我看来,Loggin 是任何软件的一个方面。日志记录不是应用程序应提供的主要价值。

所以就我而言,PostSharp 总是没问题。Spring.NET 还有一个 AOP 模块可用于实现此目的。