log4net은 log4net이 해당 파일을 모니터링 할 수 있으며 app/web.config 파일을 chaning하지 않고도 레벨을 변경할 수 있기 때문에 log4net에 대한 외부 구성 파일을 선호합니다. 나는 NServiceBus에서 그렇게하기 위해 약간 고심하고있다. 나는이 NServiceBus에서 작동하지 않습니다NServiceBus 및 Log4Net 외부 구성 파일
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ApplicationName.log4net.xml", Watch = true)]
의 AssemblyInfo.cs의 속성 (나는 NServiceBus을 사용하고 배치하는 내, 외부 설정이
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFile" type="log4net.Appender.FileAppender">
<file value="C:\Logs\NServiceBusApplication.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d{hh:mm:ss} %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
그렇게하는 가장 쉬운 방법은 파일 여기에 사용하고 .Host.exe). 그럼 난 EndpointConfig
에서 Configure.With
전에
SetLoggingLibrary.Log4Net(() => XmlConfigurator.Configure(log4netConfigUri));
를 호출했습니다. 이 log4net은 올바른 위치에서 config 파일을 읽습니다. 감시하지 않기 때문에 로그 수준을 변경할 때 응용 프로그램에 반영되지 않습니다.
다음 내가 다시 appSettings는
<appSettings>
<add key="log4net.Config" value="ApplicationName.log4net.xml"/>
<add key="log4net.Config.Watch" value="True"/>
</appSettings>
과 노력, log4net이를 읽고 이후 ApplicationName.log4net.xml를 읽고, 아직 그것을 보지 않습니다.
어떻게
- 에 NServiceBus.Host.exe을 사용 NServiceBus 서비스의 log4net를 구성 할 외부 설정 파일을 살펴보고 외부 설정 파일의 변경 사항을 반영하십시오.
있는지 확인하십시오 당신 엔드 포인트 구성에 IWantCustomLogging을 추가 하시겠습니까? –
나는 두 번째 옵션에서 그렇게했다고 생각하지만 한 번 더 확인하고 알려 드리겠습니다. –
[assembly : log4net.Config.XmlConfigurator (ConfigFile = "ApplicationName.log4net.xml", Watch = true)]은 IWantCustomLogging의 유무에 영향을 미치지 않습니다. 로그는 원하는 파일로 전달되지 않으므로이 설정은 아무런 영향을 미치지 않습니다. –