質問
私は私のウェブサイト&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]未処理)。
所属していません StackOverflow