我有带有log4net配置的自定义xml文件。以下代码用于配置log4net。一切正常。

问题是LogManager.Getlogger在不知道配置文件详细信息时如何获取“ MyLogger”?

在调用LogManager.GetLogger和xmlconfigurator.configure时,我们应该保持任何顺序吗?

Class LoggerClass
{

private static readonly ILog fileLogger = LogManager.GetLogger("MyLogger");


public LoggerClass()
{

FileInfo logConfiguration = new FileInfo("ConfigFile.xml");

//Loading the configuration from the xml file.
XmlConfigurator.Configure(logConfiguration);

}

public void Log(string msg)
{
fileLogger.Log(......);
}

}

最佳答案

LogManager类具有静态方法,客户端可使用这些方法来请求记录器实例。 GetLogger方法用于检索记录器。

GetLogger方法返回类型为ILog的对象,该对象包含用于在不同级别进行日志记录的方法,并且还具有用于确定是否在当前配置中启用了这些日志记录级别的属性。

关于序列,调用Xmlconfigurator.Configure()方法将设置日志记录功能,因此在编写任何日志之前,必须使用此命令Xmlconfigurator.Configure()设置log4net库。

而且,调用LogManager.GetLogger()Xmlconfigurator.Configure()的顺序无关紧要。只要确保在进行任何日志记录之前,您已使用LogManager.GetLogger()方法初始化了记录器,并已使用Xmlconfigurator.Configure()设置了记录器。

参考:log4net documentaion

我希望这可以帮助您回答问题:)

关于c# - LogManager.GetLogger和xmlconfigurator.configure序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24505746/

10-11 00:17