質問

私は私のウェブサイト&Web APIの中からSerilogを使っています。

今、私はWCF内からSerilogを使用したいです。

しかし、LoggerConfigurationを新たに新たにしてWCF内からロガーを作成すると、ロギングは機能していないようですか?例:テキストファイルには何も出力されていません。

var seriLog = new LoggerConfiguration()
    .WriteTo.File(@"C:\Serilogs\myapp.txt")
    .CreateLogger();

seriLog.Debug("log message");
.

最終的には、WCFサービス内からのSEQに書き込みたいです。

私は何が足りないか間違っているのですか?

誰もがこれがどのように行われるかの作業コードサンプルを持っていますか?

WCF内からSerilog / SEQスタックを使用するためのトリックはありますか?

役に立ちましたか?

解決

それにはマインドになることがいくつかあります -

まず、ここでは一度だけ実行されているセットアップコード、すなわちアプリケーションの起動時に、テキストファイルを指しているロガーが1つありますか?一度にファイルを使用できるロガーのインスタンスは1つだけです。

次に、ファイルにアクセスする権限を持って実行されるプロセスですか?

最後に、ファイルが開いています。メモ帳やそれがロックされているかもしれない別のアプリで?

これらのどれものどれもideasをどのスパークしない場合は、ロガーを設定する前にSerilogのセルフログを設定できます。

SelfLog.Out = Console.Error;
.

これはVSデバッガに表示されるべきであるため、SerilogがSerilogをキャッチして例外を抑制すると、それらが表示されます。

デバッガで実行できない場合は、

SelfLog.Out = File.OpenText(@"C:\loglog.txt");
.

デバッガの下のアプリを実行することがあります。x]未処理)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top