Adds LogOverrides property to NatsOptions and a --log_level_override=namespace=level CLI flag that wires Serilog MinimumLevel.Override entries so operators can tune verbosity per .NET namespace without changing the global log level.
39 lines
929 B
C#
39 lines
929 B
C#
namespace NATS.Server.Tests;
|
|
|
|
public class NatsOptionsTests
|
|
{
|
|
[Fact]
|
|
public void Defaults_are_correct()
|
|
{
|
|
var opts = new NatsOptions();
|
|
opts.MaxSubs.ShouldBe(0);
|
|
opts.MaxSubTokens.ShouldBe(0);
|
|
opts.Debug.ShouldBe(false);
|
|
opts.Trace.ShouldBe(false);
|
|
opts.LogFile.ShouldBeNull();
|
|
opts.LogSizeLimit.ShouldBe(0L);
|
|
opts.Tags.ShouldBeNull();
|
|
}
|
|
}
|
|
|
|
public class LogOverrideTests
|
|
{
|
|
[Fact]
|
|
public void LogOverrides_defaults_to_null()
|
|
{
|
|
var options = new NatsOptions();
|
|
options.LogOverrides.ShouldBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void LogOverrides_can_be_set()
|
|
{
|
|
var options = new NatsOptions
|
|
{
|
|
LogOverrides = new() { ["NATS.Server.Protocol"] = "Trace" }
|
|
};
|
|
options.LogOverrides.ShouldNotBeNull();
|
|
options.LogOverrides["NATS.Server.Protocol"].ShouldBe("Trace");
|
|
}
|
|
}
|