2016-12-20 8 views
1

현재 NLog를 사용하는 추상 로거를 구현하는 공통 라이브러리를 내 작품에서 만들고 있습니다.NLog 타겟팅 .NET 코어 클래스 라이브러리 4.6.1

.NET 4.6.1을 대상으로하고 NLog를 구현 한 .NET Core 클래스 라이브러리를 만들었지 만 내가 만든 단위 테스트를 실행하려고하면 nlog.config 파일이 다음과 같습니다. 뽑히지 않았다. 나는 또한 지시 된 https://github.com/NLog/NLog.Extensions.Logging 지시를 따랐지만, .NET 코어 클래스 라이브러리 솔루션이 아닌 Asp.Net 코어만을 대상으로합니다.

제 질문은 닷넷 코어 클래스 라이브러리에 적용 할 수있는 위의 링크에 명시된 지시 사항입니다. 또는 이것을 구현하는 다른 방법이 있습니까?

아니면 닷넷 코어를 사용하지 않고 더 전통적인 .NET 클래스 라이브러리 구현을 사용해야합니까?

감사합니다.

답변

1

.NET 4.6.1을 대상으로하고 NLog를 구현 한 .NET Core 클래스 라이브러리를 만들었지 만 내가 만든 단위 테스트를 실행하려고하면 nlog.config 파일

단위 테스트로 실행하는 경우 구성 파일을 찾기가 어렵습니다. 다른 프레임 워크는 다른 위치를 사용하고 있습니다. 다음 옵션을 사용할 수 있습니다.

  1. 수동으로 구성 파일 위치를 NLog에 전달하여 찾습니다. the API으로 설정 만들기

    LogManager.Configuration = new XmlLoggingConfiguration(filePath, true); 
    

    대신 ConfigureNLog(), 또는

  2. 를 사용하거나
  3. 는 문자열로 XML을 생성하고 NLog에 공급 : 대신 ConfigureNLog의 사용

    XElement element = XElement.Parse(configXml); 
    LogManager.Configuration = new XmlLoggingConfiguration(element.CreateReader(), "nlog.config"); 
    

Ced는 Asp.Net Core 만 대상으로 .NET Core Class Library 솔루션은 대상으로하지 않습니다.

ASP.NET을 사용하거나 사용하지 않고 작동합니다. ASP.NET 부분 will be moved to the NLog.Web package in the future

+0

감사합니다 줄리안! 옵션 # 1을 시도하고 거기에서 이동합니다. – mallows98