c# - log4net什么时候登录?

标签 c# reflection logging log4net

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

这是好事还是坏事?我会看到性能下降吗?

如果我在进入一个方法时记录一个信息,我的想法是记录方法名称,以及所有变量和值

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

如果反射会减慢速度,也许我可以在程序失败时使用“REFLECTION”位,因此我可以编写堆栈跟踪、所有变量和值。

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

谢谢

最佳答案

您可以使用 AOP(面向方面​​的编程)风格的日志记录方法级日志记录。

有一个很好的框架叫做Log4PostSharp .这是一个写入 Log4Net 的 PostSharp 插件

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

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

关于c# - log4net什么时候登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848782/

相关文章:

c# - FileStream 及其缓冲策略

c# - WPF:不透明度和 MouseEnter 事件

Swift 反射映射属性

c# - 使用 Excel 作为日志阅读器。如果 Excel 打开,如何写入日志文件?

c# - EF : SQL Function as property

c# - Blazor 模态表单验证 : You've to click the cancel button twice to close the modal when you delete a form field

java - 实例化 JNA 结构的子类抛出 IllegalAccessException

java - 在 Clojure 中调用不带参数的 Java 实例方法

java - Log4j 挂起我的应用程序几分钟

c# - 如何将依赖项传递给自定义 .NET Core ILoggerProvider