NLog:在课堂上传递记录器是一种好习惯吗?

时间:2016-04-21 06:22:05

标签: .net nlog

您好我有一个常用的Utilities类,它将在类中记录一些信息,我将从不同的类中调用此类。应该如何声明我的Nlog,以便我可以将记录器与不同的呼叫者分开。

我有以下示例,我希望Nlog相应地保持CallerA和CallerB记录器中的Utilities类生成日志,我应该将记录器引用传递给Utilities类吗?我听说为一个班级保留一个记录器是一个很好的做法。

非常感谢您的建议=)

namespace Common
{
    public class Utilities
    {
        private static readonly Logger _logger = LogManager.GetCurrentClassLogger();

        public void DoSomething()
        {
            _logger.Info("log here");
        }
    }
}

namespace ProjectA
{
    public class CallerA
    {
        private static readonly Logger _logger = LogManager.GetCurrentClassLogger();

        public void CallerMethod()
        {
            new Common.Utilities().DoSomething();
        }
    }
}

namespace ProjectB
{
    public class CallerB
    {
        private static readonly Logger _logger = LogManager.GetCurrentClassLogger();

        public void CallerMethod()
        {
            new Common.Utilities().DoSomething();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在这种情况下,我会在ILogger

上写一个C#扩展名

所以

_logger.DoSomething()