Log4Net:如何获取Logger?

发布于 2024-09-15 02:48:41 字数 444 浏览 0 评论 0原文

我已经使用 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.");

有什么理由不使用这种方法,还是有更好的方法来设置记录器?感谢您的帮助。

I have been using Log4Net for several months, and I create a new Logger as a member variable for each class, like this:

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

Then I invoke the logger from each method in the class that logs, like this:

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

Is there any reason not to use this approach, or is there a better way to set up the logger? Thanks for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左耳近心 2024-09-22 02:48:41

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

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

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

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

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

Your logger should probably be static, and you can take advantage of other overrides, such as using the type:

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

For improved performance, you should also check the log level you are in before calling the appropriate log function. For example:

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

The above example also shows using reflection to get the method name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文