, 당신은 당신의 AssemblyInfo.cs 파일에Log4Net은 언제 구성됩니까? Log4Net가 구성 될 때
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
을 감안할 때? 처음 응용 프로그램을 시작할 때 또는 로거를 사용할 때입니까?
, 당신은 당신의 AssemblyInfo.cs 파일에Log4Net은 언제 구성됩니까? Log4Net가 구성 될 때
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
을 감안할 때? 처음 응용 프로그램을 시작할 때 또는 로거를 사용할 때입니까?
구성 파일은 LoggerManager
클래스를 호출 할 때 사용됩니다. 이것은 보통 LogManager.GetLogger를 호출하여 발생합니다.
자세한 내용은 http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html을 참조하십시오. 특히 참고 :
Log4net은 레벨 구성 속성을 한 번만 찾습니다. 당신이 LoggerManager 방법 중 하나에 대한 첫 번째 호출이 구성 속성을 에서 어셈블리를 구성되어 있는지 확인해야합니다 log4net의 구성을 제어하는 속성 log4net 어셈블리 레벨을 사용하여.
아파치 log4net 사이트에서 인용 : 따라서
당신이 구성은 당신이 속성을 읽을 수 있도록 log4net를 호출해야 속성을 사용하는 경우. LogManager.GetLogger를 호출하면 호출 어셈블리의 속성을 읽고 처리 할 수 있습니다. 따라서 응용 프로그램 시작 중에 가능한 한 조기에 그리고 외부 어셈블리가로드되고 호출되기 전에 로깅 호출을 반드시 수행해야합니다. http://www.fooji.net/blog/post/2010/04/27/logging-log4net-e28093-part-iii.aspx
는 기본적으로, 당신이 외설 경우 log4net를 구성하는 (로깅 전화를 걸 중 하나 필요 : 여기 http://logging.apache.org/log4net/release/manual/configuration.html
확실 구성이 설정되어 있는지 확인하고 제대로 실행하는 방법에 대한 좋은 기사입니다 이미 구성되었거나 DOMConfigurator를 사용하여 log4net을 수동으로 구성하십시오.
두 번째 링크가 끊어졌습니다. – codea