Nodinite.Serilog.ApiSink
2.0.18
dotnet add package Nodinite.Serilog.ApiSink --version 2.0.18
NuGet\Install-Package Nodinite.Serilog.ApiSink -Version 2.0.18
<PackageReference Include="Nodinite.Serilog.ApiSink" Version="2.0.18" />
paket add Nodinite.Serilog.ApiSink --version 2.0.18
#r "nuget: Nodinite.Serilog.ApiSink, 2.0.18"
// Install Nodinite.Serilog.ApiSink as a Cake Addin #addin nuget:?package=Nodinite.Serilog.ApiSink&version=2.0.18 // Install Nodinite.Serilog.ApiSink as a Cake Tool #tool nuget:?package=Nodinite.Serilog.ApiSink&version=2.0.18
Nodinite.Serilog.ApiSink
Nodinite.Serilog.ApiSink
is a custom sink for Serilog designed to send a Nodinite logging events to Nodinite using the LogApi.
Unlike the default Serilog sinks that write logs to a file, database, or other conventional destinations, this sink forwards the Nodinite log events to your Nodinite customized LogView directly.
Features
- Real-time logging: Events are sent to Nodinite as they occur.
- Seamless Integration: Works well with existing Serilog configurations.
- Customizable: Supports additional custom fields to send along with the log events (CONTEXT PROPERTIES).
Documentation
Nodinite - Docs
Nodinite - Serilog Docs
Configuration
A Nodinite Log Event has mandatory and optional fields. Below is an example to get you started.
Field | Example Value | Comment |
---|---|---|
LogAgentValueId | 503 | Who (Log Agents) sent the data |
EndPointName | "Nodinite.Serilog.ApiSink.Tests" | Name of Endpoint transport |
EndPointUri | "Nodinite.Serilog.Apisink.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 nodiniteApiUrl = "{Your Nodinite Log API Url";
var settings = new NodiniteLogEventSettings()
{
LogAgentValueId = 503,
EndPointDirection = 0,
EndPointTypeId = 0,
EndPointUri = "Nodinite.Serilog.ApiSink.Tests.Serilog",
EndPointName = "Nodinite.Serilog.ApiSink.Tests",
OriginalMessageTypeName = "Serilog.LogEvent",
ProcessingUser = "NODINITE",
ProcessName = "Nodinite.Serilog.ApiSink.Tests",
ProcessingMachineName = "NODINITE-DEV",
ProcessingModuleName = "DOTNETCORE.TESTS",
ProcessingModuleType = "DOTNETCORE.TESTPROJECT"
};
Logger log = new LoggerConfiguration()
.WriteTo.NodiniteApiSink(nodiniteApiUrl, settings)
.CreateLogger();
Using Appsettings.json (Preferred)
Besides Serilog, the following nuget packages need to be installed
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Configuration.Json
- Nodinite.Serilog.ApiSink
- 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.Apisink" ],
"WriteTo": [
{
"Name": "NodiniteApiSink",
"Args": {
"NodiniteApiUrl": "",
"Settings": {
"LogAgentValueId": 503,
"EndPointName": "Nodinite.Serilog.ApiSink.Tests",
"EndPointUri": "Nodinite.Serilog.ApiSink.Tests.Serilog",
"EndPointDirection": 0,
"EndPointTypeId": 0,
"OriginalMessageTypeName": "Serilog.LogEvent",
"ProcessingUser": "NODINITE",
"ProcessName": "Nodinite.Serilog.ApiSink.Tests",
"ProcessingMachineName": "NODINITE-DEV",
"ProcessingModuleName": "DOTNETCORE.TESTS",
"ProcessingModuleType": "DOTNETCORE.TESTPROJECT"
}
}
}
]
}
}
Logging Context Properties
ILogger log = new LoggerConfiguration()
.WriteTo.NodiniteApiSink(nodiniteApiUrl, 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.
Support
For bugs, feature requests, or other concerns, please contact us at support@nodinite.com.
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
- Nodinite.Serilog.Models (>= 2.0.18)
- System.Net.Http (>= 4.3.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Nodinite.Serilog.ApiSink:
Package | Downloads |
---|---|
SolitaLogging
Package Description |
|
NodiniteLogging
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.18 | 84 | 10/25/2024 |
2.0.17 | 84 | 10/10/2024 |
2.0.16 | 93 | 9/11/2024 |
2.0.15 | 148 | 8/23/2024 |
2.0.14 | 86 | 7/26/2024 |
2.0.12 | 100 | 7/10/2024 |
2.0.11 | 100 | 6/12/2024 |
2.0.9 | 97 | 5/15/2024 |
2.0.8 | 127 | 4/10/2024 |
2.0.7 | 126 | 3/13/2024 |
2.0.6 | 143 | 2/14/2024 |
2.0.4 | 154 | 1/10/2024 |
2.0.2 | 196 | 11/15/2023 |
2.0.1 | 106 | 11/6/2023 |
2.0.0 | 288 | 2/13/2023 |
1.4.0 | 250 | 2/9/2023 |
1.3.0 | 609 | 2/21/2022 |
1.2.0 | 442 | 2/14/2022 |
1.1.1 | 5,020 | 5/4/2020 |
1.1.0 | 885 | 2/21/2020 |
1.0.0 | 2,769 | 12/2/2018 |