2016-10-28 2 views
3

필자는 serilog 코드를 가지고 있으며 구성을 web.config 파일로 옮기고 싶습니다.serilog appSettings 동일한 서버 경로의 파일에 쓰기 asp.net mvc

모든 것이 잘 작동하지만 문제는 파일의 경로입니다 :

나는 같은 서버 경로에 새 파일을 작성하려면
var logFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"EnBW.DokumentErfassung.Web-{Environment.MachineName}.log"); 
    Log.Logger = new LoggerConfiguration() 
         .ReadFrom.AppSettings(); 

, Web.config의 코드는 다음과 같습니다

<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" /> 
    <add key="serilog:write-to:RollingFile.pathFormat" value="log123-{Date}.txt" /> 

저장 한 파일이 C :/program file/.....에 저장되었습니다.

동일한 도메인 경로에 저장되기를 원합니다. 나는 어떻게해야합니까?

답변

5

응용 설정 공급자 Global.asax.cs너무 로거를 구성하기 전에, 환경 변수를 지원합니다

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

및 구성에 %BASEDIR%를 사용

<add key="serilog:write-to:RollingFile.pathFormat" 
    value="%BASEDIR%\logs\log-{Date}.txt" /> 
관련 문제