When Serilog is not behaving as you expect, this may be caused by an internal exception or configuration issue. Here are a couple of ways to sort things out.
First, Serilog will write simple diagnostic messages to user-specified output if provided. Call SelfLog.Enable()
at program startup:
Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
The system console, a file or an in-memory StringWriter
can all be used to collect Serilog's output by providing a TextWriter
instead of a delegate:
Serilog.Debugging.SelfLog.Enable(Console.Error);
Serilog never writes its own events to user-defined sinks.
Warning: SelfLog
does not perform any synchronization over the provided TextWriter
. For most implementations you should use the TextWriter.Synchronized()
method to ensure the object being passed in can be written from multiple threads:
var file = File.CreateText(...); Serilog.Debugging.SelfLog.Enable(TextWriter.Synchronized(file));
Most Serilog packages include debug symbols (_.PDB) on http://symbolsource.org - adding it as a symbol server in Visual Studio can help when determining the cause of an exception from a sink.
A Roslyn-based analysis for code using the Serilog logging library. Checks for common mistakes and usage problems. You can find more information here.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4