Best way to dynamically set an appender file path에서 % property {}를 사용하여 파일 이름을 동적으로 설정하는 방법을 제안했지만 아래 파일은 "(nul) .log"로 생성되었습니다.% log4net의 RollingFileAppender에서 속성이 작동하지 않습니다.
file type="log4net.Util.PatternString" value="C:\My_Log\%property{service}.log"
도움으로 나는 XML 파일에 선언 한 코드
log4net.GlobalContext.Properties["service"] = _servicename.ToString();
_flatFileLogger = LogManager.GetLogger("FlatFileLogger");
_flatFileLogger.Debug(logData.ToString());
은 많은 감사.
덕분에, 나는이 프로그램의 시작 FlatFileLogger을 선언하고 켰을 때, 그것을 사용하고 , 은 % 속성이 1 log4net.GlobalContext.Properties을 설정 한 직후 [ "서비스"] = _servicename.ToString(); 2. _flatFileLogger = LogManager.GetLogger ("FlatFileLogger"); 3. _flatFileLogger.Debug (logData.ToString()); 동일한 시퀀스 –
하지만 log4net 프레임 워크를 어디에서 초기화합니까? GlobalContext 속성을 설정 한 후에 ** logger.Config.XmlConfigurator.Configure()를 호출해야합니다. ** ** 처음 로거에 액세스하기 전에 ** 로거에 액세스해야합니다. – PatrickSteele
Patrick에게 감사드립니다 ... log4net.Config.XmlConfigurator.Configure()를 사용하여 실제로 문제가 해결되었습니다. –