serilog appSettings在同一服务器路径asp.net mvc中写入文件

Sam*_*our 4 asp.net-mvc file appsettings serilog

我有一个serilog代码,我想将配置移动到web.config文件.

一切正常,但问题是文件的路径:

var logFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"EnBW.DokumentErfassung.Web-{Environment.MachineName}.log");
    Log.Logger = new LoggerConfiguration()
                        .ReadFrom.AppSettings();
Run Code Online (Sandbox Code Playgroud)

我想在同一服务器路径中写入新文件,web.config代码是:

<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />
    <add key="serilog:write-to:RollingFile.pathFormat" value="log123-{Date}.txt" />
Run Code Online (Sandbox Code Playgroud)

但保存的文件已保存在C:/ program file/.....

我希望它保存在相同的域路径中.我该怎么办?

Nic*_*rdt 8

应用程序设置提供程序支持环境变量,因此在配置记录器之前在Global.asax.cs中:

Environment.SetEnvironmentVariable("BASEDIR", AppDomain.CurrentDomain.BaseDirectory);
Run Code Online (Sandbox Code Playgroud)

%BASEDIR%在配置中使用:

<add key="serilog:write-to:RollingFile.pathFormat"
     value="%BASEDIR%\logs\log-{Date}.txt" />
Run Code Online (Sandbox Code Playgroud)