gpt4 book ai didi

c# - Log4Net:如何获取记录器?

转载 作者:太空狗 更新时间:2023-10-29 22:17:40 25 4
gpt4 key购买 nike

我已经使用 Log4Net 几个月了,我为每个类创建了一个新的 Logger 作为成员变量,如下所示:

// Member variables
private readonly ILog m_Logger = LogManager.GetLogger("MyClass");

然后我从记录类中的每个方法调用记录器,如下所示:

// Initialize
m_Logger.Info("MyClass.MyMethod() invoked.");
...
m_Logger.Debug("MyClass.MyMethod() did something...");
...
m_Logger.Info("MyClass.MyMethod() completed.");

是否有任何理由不使用这种方法,或者是否有更好的方法来设置记录器?感谢您的帮助。

最佳答案

您的记录器可能应该是静态的,并且您可以利用其他覆盖,例如使用类型:

private static readonly ILog m_Logger = LogManager.GetLogger(typeof(MyClass));

为了提高性能,您还应该在调用适当的日志函数之前检查您所处的日志级别。例如:

if (m_Logger.IsDebugEnabled) { m_Logger.DebugFormat("Starting {0}", MethodBase.GetCurrentMethod().ToString()); }

上面的例子也展示了使用反射来获取方法名。

关于c# - Log4Net:如何获取记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com