2016-06-13 13 views
1

私はapp.configファイル(AppSettingsセクション)でSerilogシンクを設定することができますが、スカラータイプではシンプルですが、複雑なものではどうすればよいか(IFormatProvider等。)。誰もそれに対処する方法を知っていて、それはまったく可能ですか?SerilogのformatProviderプロパティをapp.configファイルから設定する方法

私は

ILogger logger = new LoggerConfiguration() 
    .Enrich.WithExceptionDetails() 
    .WriteTo.Sink(new RollingFileSink(
     @"C:\logs", 
     new JsonFormatter(renderMessage: true)) 
    .CreateLogger(); 

この例をシミュレートしようとしているが、唯一のapp.config使用しています。

答えて

1

これにはJsonRollingFileのようなものを使用できます。

<configuration> 
    <appSettings> 
    <add key="serilog:using:Json" value="Serilog.Sinks.Json" /> 
    <add key="serilog:write-to:JsonRollingFile.pathFormat" value="C:\Logs\myapp-{Date}.jsnl" /> 
    </appSettings> 
</configuration> 
+0

こんにちは@Nicholas Blumhardt、 'JsonRollingFile'シンクは、あなたがのAppSettings構成を使用してtrueにJsonFormatterプロパティrenderMessageの設定方法2.1+バージョン、のよう時代遅れになっているので? 私はこれを試しましたが、うまくいかなかった:

+0

こんにちはマイケル - ここに役立つ例があります:https://github.com/serilog/serilog-serilog-formatting-compact#getting-started –

+0

こんにちは@Nicholas Blumhardt、 私が見る限り、これは'CompactJsonFormatter'です。しかし、 'renderMessage'パラメータをtrueに設定して通常の' JsonFormatter'を使用したいと思います。私はappsettings.configを使ってこれに関する例を見つけることができません。私はここに何かを逃していますかXML設定でこのパラメータを設定することはできませんか? –

関連する問題