Nodinite.Serilog.EventHubSink
1.2.0
See the version list below for details.
dotnet add package Nodinite.Serilog.EventHubSink --version 1.2.0
NuGet\Install-Package Nodinite.Serilog.EventHubSink -Version 1.2.0
<PackageReference Include="Nodinite.Serilog.EventHubSink" Version="1.2.0" />
paket add Nodinite.Serilog.EventHubSink --version 1.2.0
#r "nuget: Nodinite.Serilog.EventHubSink, 1.2.0"
// Install Nodinite.Serilog.EventHubSink as a Cake Addin #addin nuget:?package=Nodinite.Serilog.EventHubSink&version=1.2.0 // Install Nodinite.Serilog.EventHubSink as a Cake Tool #tool nuget:?package=Nodinite.Serilog.EventHubSink&version=1.2.0
Nodinite.Serilog.EventHubSink
A Serilog sink that writes log events to a Microsoft Azure Event Hub.
This project is built with .NET Standard 2.0.
Get Started
Install Nodinite.Serilog.EventHubSink Nuget Package
Start by installing the NuGet package Nodinite.Serilog.Sink.Core.
Install-Package Nodinite.Serilog.EventHubSink
Set up
Nodinite requires some settings to be configured in order for events to be logged. Below you can see all settings that need to be configured.
Field | Example Value | Comment |
---|---|---|
LogAgentValueId | 503 | Who (Log Agents) sent the data |
EndPointName | "Nodinite.Serilog.EventHubSink.Tests" | Name of Endpoint transport |
EndPointUri | "Nodinite.Serilog.EventHubSink.Tests.Serilog" | URI for Endpoint transport |
EndPointDirection | 0 | Direction for Endpoint transport |
EndPointTypeId | 0 | Type of Endpoint transport |
OriginalMessageTypeName | "Serilog.LogEvent" | Message Type Name |
ProcessingUser | "Nodinite" | Log Identity |
ProcessName | "My customer import process" | Name of process |
ProcessingMachineName | "localhost" | Name of server where log event originated |
ProcessingModuleName | "INT101-HelloHappyCustomers-Application" | Name of module |
ProcessingModuleType | "FileImport" | Type of module, exe, dll, service |
Using code
Besides Serilog, the following nuget packages need to be installed
Using the following code below you can start logging events to Nodinite.
var connectionString = "{Your EventHub Connection String";
var settings = new NodiniteLogEventSettings()
{
LogAgentValueId = 503,
EndPointDirection = 0,
EndPointTypeId = 0,
EndPointUri = "Nodinite.Serilog.EventHubSink.Tests.Serilog",
EndPointName = "Nodinite.Serilog.EventHubSink.Tests",
ProcessingUser = "NODINITE",
ProcessName = "Nodinite.Serilog.EventHubSink.Tests",
ProcessingMachineName = "NODINITE-DEV",
ProcessingModuleName = "DOTNETCORE.TESTS",
ProcessingModuleType = "DOTNETCORE.TESTPROJECT"
};
ILogger log = new LoggerConfiguration()
.WriteTo.NodiniteEventHubSink(connectionString, settings)
.CreateLogger()
.ForContext("ApplicationInterchangeId", $"CustomId-{Guid.NewGuid().ToString()}")
.ForContext("Body", JsonConvert.SerializeObject(new { Id = 1 }))
.ForContext("OriginalMessageType", "TestMessage#1.0");
Using Appsettings.json (Preferred)
Besides Serilog, the following nuget packages need to be installed
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Configuration.Json
- Nodinite.Serilog.EventHubSink
- Serilog.Settings.Configuration
Using the following code to initialize the logger in your application:
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
Logger log = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger();
And putting the following into your appsettings.json:
{
"Serilog": {
"Using": [ "Nodinite.Serilog.EventHubSink" ],
"WriteTo": [
{
"Name": "NodiniteEventHubSink",
"Args": {
"ConnectionString": "",
"Settings": {
"LogAgentValueId": 503,
"EndPointName": "Nodinite.Serilog.EventHubSink.Tests",
"EndPointUri": "Nodinite.Serilog.EventHubSink.Tests.Serilog",
"EndPointDirection": 0,
"EndPointTypeId": 0,
"OriginalMessageTypeName": "Serilog.LogEvent",
"ProcessingUser": "NODINITE",
"ProcessName": "Nodinite.Serilog.EventHubSink.Tests",
"ProcessingMachineName": "NODINITE-DEV",
"ProcessingModuleName": "DOTNETCORE.TESTS",
"ProcessingModuleType": "DOTNETCORE.TESTPROJECT"
}
}
}
]
}
}
Logging Context Properties
ILogger log = new LoggerConfiguration()
.WriteTo.NodiniteEventHubSink(connectionString, settings)
.CreateLogger()
.ForContext("CorrelationId", Guid.NewGuid())
.ForContext("CustomerId", 12);
log.Information("Customer '12' has been imported.");
The Serilog sink will automatically loop over all context properties you have defined in your code and log them as part of your event to Nodinite.
Example:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Azure.Messaging.EventHubs (>= 5.6.2)
- Newtonsoft.Json (>= 13.0.1)
- Nodinite.Serilog.Models (>= 1.2.0)
- Serilog.Sinks.PeriodicBatching (>= 2.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.18 | 91 | 10/25/2024 |
2.0.17 | 201 | 10/10/2024 |
2.0.16 | 166 | 9/11/2024 |
2.0.15 | 332 | 8/23/2024 |
2.0.14 | 763 | 7/26/2024 |
2.0.12 | 100 | 7/10/2024 |
2.0.11 | 108 | 6/12/2024 |
2.0.9 | 77 | 5/15/2024 |
2.0.8 | 420 | 4/10/2024 |
2.0.7 | 156 | 3/13/2024 |
2.0.6 | 877 | 2/14/2024 |
2.0.4 | 630 | 1/10/2024 |
2.0.2 | 347 | 11/15/2023 |
2.0.1 | 304 | 11/6/2023 |
2.0.0 | 3,934 | 2/13/2023 |
1.4.0 | 260 | 2/9/2023 |
1.3.0 | 2,205 | 2/21/2022 |
1.2.0 | 459 | 2/14/2022 |
1.0.1 | 642 | 5/4/2020 |
1.0.0 | 572 | 2/28/2020 |