log4net什么时候登录?

mar*_*ith 3 c# reflection logging log4net

任何人都有关于何时登录的任何好信息,当我输入每个c#方法并在退出时记录另一个信息时,我正在考虑记录INFO类型.

这被认为是好还是坏?我会看到性能受到打击吗?

如果我在输入方法时记录INFO,那么想法是记录方法名称,以及所有变量和值

任何想法如何在不输入每个值和方法名称的情况下自动完成,我想我可以使用反射,但也许我会看到这里放慢速度?

如果反射会降低速度,也许我可以在程序失败时使用"REFLECTION"位,因此我可以编写堆栈跟踪,所有变量和值.

关于此的任何想法或例子都非常感激

谢谢

Dri*_*jck 6

您可以使用AOP(面向方面​​编程)样式的日志记录进行方法级日志记录.

有一个很好的框架叫做Log4PostSharp.它是PostSharp的一个插件,可以写入Log4Net

它基本上归结为用这样的属性装饰你的方法:

[Log(LogLevel.Info, "Doing something")]
public void CountCharacters() {
   // do your logic here
}
Run Code Online (Sandbox Code Playgroud)