Serilog.Sinks.Datadog.Logs
0.3.0
See the version list below for details.
dotnet add package Serilog.Sinks.Datadog.Logs --version 0.3.0
NuGet\Install-Package Serilog.Sinks.Datadog.Logs -Version 0.3.0
<PackageReference Include="Serilog.Sinks.Datadog.Logs" Version="0.3.0" />
paket add Serilog.Sinks.Datadog.Logs --version 0.3.0
#r "nuget: Serilog.Sinks.Datadog.Logs, 0.3.0"
// Install Serilog.Sinks.Datadog.Logs as a Cake Addin #addin nuget:?package=Serilog.Sinks.Datadog.Logs&version=0.3.0 // Install Serilog.Sinks.Datadog.Logs as a Cake Tool #tool nuget:?package=Serilog.Sinks.Datadog.Logs&version=0.3.0
Serilog.Sinks.Datadog.Logs
A Serilog sink that send events and logs staight away to Datadog. By default the sink sends logs over HTTPS
Package - Serilog.Sinks.Datadog.Logs | Platforms - .NET 4.5.1, netstandard1.3, netstandard2.0
Note: For other .NET versions, ensure that the default TLS version used is 1.2
var log = new LoggerConfiguration()
.WriteTo.DatadogLogs("<API_KEY>")
.CreateLogger();
By default the logs are forwarded to Datadog via HTTPS on port 443 to the US site.
You can change the site to EU by using the url
property and set it to https://http-intake.logs.datadoghq.eu
.
You can override the default behavior and use TCP forwarding by manually specifing the following properties (url, port, useSSL, useTCP).
You can also add the following properties (source, service, host, tags) to the Serilog sink.
- Example with a TCP forwarder which add the source, service, host and a list of tags to the logs:
var config = new DatadogConfiguration(url: "intake.logs.datadoghq.com", port: 10516, useSSL: true, useTCP: true);
var log = new LoggerConfiguration()
.WriteTo.DatadogLogs(
"<API_KEY>",
source: "<SOURCE_NAME>",
service: "<SERVICE_NAME>",
host: "<HOST_NAME>",
tags: new string[] {"<TAG_1>:<VALUE_1>", "<TAG_2>:<VALUE_2>"},
configuration: config
)
.CreateLogger();
Example
Sending the following log:
var log = new LoggerConfiguration()
.WriteTo.DatadogLogs("<API_KEY>")
.CreateLogger();
// An example
var position = new { Latitude = 25, Longitude = 134 };
var elapsedMs = 34;
log.Information("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs);
In the platform, the log looks like as the following JSON Object:
{
"MessageTemplate": "Processed {@Position} in {Elapsed:000} ms.",
"Level": "Information",
"Timestamp": "2016-09-02T15:02:29.648Z",
"Renderings": {
"Elapsed": [{
"Format": "000",
"Rendering": "034"
}]
},
"Properties": {
"Position": {
"Latitude": 25,
"Longitude": 134
},
"Elapsed": 34
}
}
Configuration from appsettings.json
Since 0.2.0, you can configure the Datadog sink by using an appsettings.json
file with
the Serilog.Setting.Configuration package.
In the "Serilog.WriteTo"
array, add an entry for DatadogLogs
. An example is shown below:
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Datadog.Logs" ],
"MinimumLevel": "Debug",
"WriteTo": [
{ "Name": "Console" },
{
"Name": "DatadogLogs",
"Args": {
"apiKey": "<API_KEY>",
"source": "<SOURCE_NAME>",
"host": "<HOST_NAME>",
"tags": ["<TAG_1>:<VALUE_1>", "<TAG_2>:<VALUE_2>"],
}
}
],
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"Properties": {
"Application": "Sample"
}
}
How to build the NuGet package
Bump the version in src/Serilog.Sinks.Datadog.Logs.csproj
and merge your branch
Run these commands in the project root folder
git checkout master && git pull
msbuild Serilog.Sinks.Datadog.Logs.sln /t:restore /p:Configuration=Release
msbuild Serilog.Sinks.Datadog.Logs.sln /t:pack /p:Configuration=Release
You can find the .nupkg
file at src/Serilog.Sinks.Datadog.Logs/bin/Release/Serilog.Sinks.Datadog.Logs.<version>.nupkg
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 | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. 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 | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5
- Newtonsoft.Json (>= 11.0.2)
- Serilog (>= 2.7.1)
- Serilog.Sinks.PeriodicBatching (>= 2.1.1)
- System.Net.Http (>= 4.3.4)
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- Newtonsoft.Json (>= 11.0.2)
- Serilog (>= 2.7.1)
- Serilog.Sinks.PeriodicBatching (>= 2.1.1)
- System.Net.Http (>= 4.3.4)
- System.Net.Security (>= 4.3.2)
- System.Net.Sockets (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
.NETStandard 2.0
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 2.1.1)
- Newtonsoft.Json (>= 11.0.2)
- Serilog (>= 2.7.1)
- Serilog.Sinks.PeriodicBatching (>= 2.1.1)
- System.Net.Http (>= 4.3.4)
- System.Net.Security (>= 4.3.2)
- System.Net.Sockets (>= 4.3.0)
- System.Threading (>= 4.3.0)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Serilog.Sinks.Datadog.Logs:
Package | Downloads |
---|---|
Serilog.Builder
Builder with my serilog common settings for use Console, Seq and Splunk sinks. |
|
MarketplaceStack.Operations
SP API Operations |
|
Prospa.Extensions.Hosting
.NET Core Hosting Extensions. |
|
SnD.Sdk
SDK for Sneaks&Data OSS Projects |
|
ReinsuranceLibrary.LoggerManager
Functional library for .Net. Obrigatório o uso das variaveis de ambiente "LogGroupName" e "Application" |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.5.4 | 4,676 | 11/13/2024 |
0.5.3 | 221,430 | 9/18/2024 |
0.5.2 | 5,384,190 | 3/14/2023 |
0.5.1 | 757,881 | 1/13/2023 |
0.5.0 | 113,327 | 1/3/2023 |
0.4.1-beta1 | 7,416 | 12/5/2022 |
0.4.0 | 319,086 | 11/25/2022 |
0.3.8 | 1,270,263 | 10/5/2022 |
0.3.7 | 1,108,213 | 6/30/2022 |
0.3.6 | 2,213,197 | 2/11/2022 |
0.3.5 | 2,756,734 | 9/8/2021 |
0.3.4 | 2,571,681 | 12/2/2020 |
0.3.3 | 684,014 | 9/24/2020 |
0.3.2 | 780,384 | 7/8/2020 |
0.3.1 | 933,387 | 1/29/2020 |
0.3.0 | 593,749 | 4/11/2019 |
0.2.0 | 95,457 | 2/5/2019 |
0.1.5 | 6,837 | 1/10/2019 |
0.1.4 | 9,193 | 11/2/2018 |
0.1.3 | 46,410 | 7/30/2018 |