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
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();