We are using Serilog to log items into a db with a Windows service, and the users wanted to be able to do a manual run, so we made a button (on a web page) to make a call to the
This question is a couple of years old, but I happen to be facing a similar problem right now.
The easiest way to turn Serilog's logging off is by creating a new logger without any sinks. From Serilog's documentation, Configuration Basics:
Log.Logger = new LoggerConfiguration().CreateLogger();
Log.Information("No one listens to me!");
The solution above is not correct. After some more research, I've found that this can be done by setting a filter when configuring the logger:
Log.Logger = new LoggerConfiguration()
.Filter.ByExcluding(_ => !IsLoggingEnabled)
.WriteTo.MSSqlServer(...)
.CreateLogger();
, where IsLoggingEnabled
is just a boolean flag.