Skip to content

panoramicdata/Serilog.Sinks.LogicMonitor

Repository files navigation

Serilog.Sinks.LogicMonitor

A Serilog sink that writes to LogicMonitor.

NOTE: FieldWriters are not yet used and can be omitted.

Package - Serilog.Sinks.LogicMonitor | Platforms - .NET Standard 2.0

Code

var logicMonitorClientOptions = new LogicMonitorClientOptions
	{
		Account = "acme",
		AccessId = "The access token's id",
		AccessKey = "The access token's key",
	};

// Used fields (Key is a field name) 
// Field type is writer's constructor parameter
var fieldWriters = new Dictionary<string, FieldWriterBase>
	{
		 {"message", new RenderedMessageFieldWriter() },
		 {"message_template", new MessageTemplateFieldWriter() },
		 {"level", new LevelFieldWriter(true) },
		 {"raise_date", new TimestampFieldWriter() },
		 {"exception", new ExceptionFieldWriter() },
		 {"properties", new LogEventSerializedFieldWriter() },
		 {"props_test", new PropertiesFieldWriter() },
		 {"machine_name", new SinglePropertyFieldWriter("MachineName", PropertyWriteMethod.ToString, "l") }
	};

// This is the LogicMonitor device id.
// You can find this value in the device's "Info" tab.
var deviceId=1234;

var logger = new LoggerConfiguration()
	.WriteTo.LogicMonitor(
		logicMonitorClientOptions,
		deviceId,
		fieldWriters
	)
	.CreateLogger();

About

A Serilog sink for LogicMonitor

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages