Introduction
editIntroduction
editECS logging are integrations for your favorite .NET logging libraries. They make it easy to format your logs into ECS-compatible JSON.
Want to learn more about ECS, ECS logging, and other available language plugins? See the ECS logging overview.
The .NET ECS libraries fall into several categories:
Model
editAt its core all .NET ECS libraries are powered by Elastic.CommonSchema
which strongly types the ECS specification to .NET classes.
This library can be used to map your events to ECS in a typesafe fashion.
var doc = EcsDocument.CreateNewWithDefaults<EcsDocument>(); doc = new EcsDocument();
Lean more about Elastic.CommonSchema.
Log Formatters
editOur log formatters allow you to change the way various logging frameworks log to IO (file/console) to use ECS json.
Data Shippers
editOur datashippers integrate with logging frameworks to facilitate sending events (logs) to various off Elastic receivers.
Currently these shippers support Elastic Cloud & Elasticsearch but other outputs are in the works.
All the data shippers utilize Elastic.Ingest.Elasticsearch.CommonSchema
to send events to Elasticsearch.
Enrichers
editEnrichers can be installed next to Log Formatters
and Data Shippers
to automatically
enrich the ECS json that gets produced.
Architecture
editThe libraries reuse the same components that power other .NET libraries from Elastic—ensuring a common way to both configure and monitor Elastic’s .NET libraries.
At its core all data shippers depend on Elastic.Transport to coordinate HttpRequests. This library is also the heart of Elastic’s clients and ensures we share best practices and configuration options.
The data shipper libraries all depend upon the push based ingestion
abstractions from Elastic.Ingest.* that
presents an easy to use System.Threading.Channels
backed method to push events as batches at variable rates to external datasources.