2016-11-28 2 views
1

ASP.NET 코어에서 새 프로젝트를 시작했고 질문이 있습니다. 가) nLog,이 그것을 가지고 nlog.config 파일 B) serilog에서 설정이 있다고는 appsettings.jsonbasedir

의 설정은 지금이 순간, 난이 저장할 수있는 2 곳이 있습니다

나는 2 로거가 로그 : fileName에 = "$ {BASEDIR}/로그/EPR/nlog - 모든 - $ {shortdate} .LOG - nLog "SerilogFile ":"로그/serilog- {날짜}가 .txt "- serilog

내 질문은,받는 방법 basedir 카탈로그 appsettings.json 파일

답변

1

하나의 옵션은 시작시 기본 경로와 환경 변수를 설정하는 등 테스트 정적 나쁜 때문에 당신의 Startup/Programm 클래스의 PlatformServices 외부에서 사용해서는 안 :

Environment.SetEnvironmentVariable("BASEDIR", AppDomain.CurrentDomain.BaseDirectory); 

그런 다음 구성에서 "%BASEDIR%/logs/serilog-{Date}.txt"을 사용하십시오.

1

짧은 : appsettings.json에서 접속할 수 없습니다.

길게 : 정적 인 PlatformServices 클래스를 통해 코드를 작성할 수 있습니다.

PlatformServices.Default.Application.ApplicationBasePath; 

후 교체 사용하거나 ApplicationBasePath에 의해 반환되는 값으로 ${basedir}를 대체 할 적합한 것 무엇이든, 당신의 로거 구성에 전달합니다.

(!) 참고 : 그들은

+0

어, 불가능하다고 나쁘지 않습니다. ( – zchpit

관련 문제