代码之家  ›  专栏  ›  技术社区  ›  David Veeneman

Log4Net:如何获取Logger?

  •  5
  • David Veeneman  · 技术社区  · 14 年前

    // 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.");
    

    1 回复  |  直到 12 年前
        1
  •  14
  •   Russ    14 年前

    您的记录器可能应该是静态的,您可以利用其他重写,例如使用以下类型:

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

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

    上面的示例还显示了如何使用反射来获取方法名。