2016-10-28 8 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" /> 
関連する問題