2016-10-28 13 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/.....

Я хочу, чтобы он был сохранен в том же пути Домена. что мне делать?

ответ

5

Поставщик настройки приложения поддерживает переменные окружения, поэтому в Global.asax.cs перед настройкой регистратора:

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

И использовать %BASEDIR% в конфигурации:

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

 Смежные вопросы

  • Нет связанных вопросов^_^