2016-10-06 2 views
1

저는 Windows 서비스를 작성 중이며 서비스 생성자와 비교하여 OnStart의 각 호출에서 새로운 Logger을 만드는 것이 더 좋습니다. 이렇게하면 서비스가 다시 시작될 때 구성 파일의 변경 사항이 적용되고 프로세스와 모든 번거 로움을 다시 시작하지 않아도됩니다.NLog는 NLog.config에서 데이터를 캐시합니까?

그런 다음 NLog가 파일을 한 번만 읽었을 수도 있고, LogManager 또는 그와 같은 파일을 초기화 할 때 내 예방 조치는 무의미했습니다.

답변

1

구성 파일 (nlog.config)을 사용하는 경우 autoReload를 활성화 할 수 있습니다. 활성화와 nlog.config에 변화가있을 경우

<nlog autoReload="true"> 
    ... 
</nlog> 

구성이 자동으로 서비스를 다시 시작하지 않고 를 다시로드됩니다. Automatic reconfiguration을 참조하십시오.

문제가있는 NLog를 구성한 경우 (nlog.config가 없으면) 구성을 변경 한 후에 LogManager.ReconfigExistingLoggers을 호출해야합니다.

그리고 서비스 센터에 비해 OnStart를 호출 할 때마다 새로운 로거를 만드는 것이 더 바람직하다고 생각했습니다.

두 경우 모두 Logger이 생성되면 상관 없습니다.

+0

안녕하세요, 감사합니다. – ProfK

관련 문제