首页 文章

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

提问于
浏览
4

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

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

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 / .....

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

1 回答

  • 7

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

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

    并在配置中使用 %BASEDIR%

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

相关问题