1

Serilog ロギングと Seq シンク (ColoredConsole と RollingFile シンクに加えて) を使用してアプリケーションをセットアップしました。すべてがうまく機能していますが、Seq からの最小ログ レベルの切り替えです。

私のロギング レベル スイッチは、すべてが seq.

API キーの設定では、最小レベルが「デバッグ」に設定されており、seq はレベルが「デバッグ」以上のイベントのみを表示します。

ただし、アプリケーション側ではすべてがログに記録され、最小ログ レベルに変更はありません。コンソールに「Verbose」と表示され、seq シンクのローリング ログ ファイルと、セットアップした別のローリング ログ ファイルが表示されます。これは、seq によって取得される「デバッグ」レベルのイベントを送信しても、数分待っても変わりません。

これは私の設定です:

var levelSwitch = new LoggingLevelSwitch(LogEventLevel.Verbose);
Log.Logger = new LoggerConfiguration()
    .MinimumLevel.ControlledBy(levelSwitch)
    .Enrich.WithExceptionDetails()
    .WriteTo.ColoredConsole()
    .WriteTo.RollingFile(@".\log\log-{Date}.txt")
    .WriteTo.Seq("http://localhost:5341", bufferBaseFilename: @".\temp\seqlog", apiKey: "...", controlLevelSwitch: levelSwitch)
    .CreateLogger();

Log.Logger.Verbose("TEST!!!");
4

1 に答える 1

0

いくつかのイベントがすでに Seq に到達するまで、スイッチは Seq シンクによって設定されません。レベル コントロールは瞬時ではありません。実際には、これは、他のシンクからの出力に変化が見られるまでに数秒かかることを意味する場合があります。

于 2017-07-20T23:12:31.770 に答える