Serilog.Sinks.Datadog.Logs 0.1.5

There is a newer version of this package available.
See the version list below for details.
Install-Package Serilog.Sinks.Datadog.Logs -Version 0.1.5
dotnet add package Serilog.Sinks.Datadog.Logs --version 0.1.5
<PackageReference Include="Serilog.Sinks.Datadog.Logs" Version="0.1.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Serilog.Sinks.Datadog.Logs --version 0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Serilog.Sinks.Datadog.Logs, 0.1.5"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Serilog.Sinks.Datadog.Logs as a Cake Addin
#addin nuget:?package=Serilog.Sinks.Datadog.Logs&version=0.1.5

// Install Serilog.Sinks.Datadog.Logs as a Cake Tool
#tool nuget:?package=Serilog.Sinks.Datadog.Logs&version=0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Serilog.Sinks.Datadog.Logs

A Serilog sink that send events and logs staight away to Datadog. By default the sink will use a TCP connection over SSL.

Package - Serilog.Sinks.Datadog.Logs | Platforms - .NET 4.5.1, netstandard1.3, netstandard2.0

var log = new LoggerConfiguration()
    .WriteTo.DatadogLogs("<API_KEY>")
    .CreateLogger();

You can override the default behavior by manually specifing the following properties (endpoint, port, useSSL).

You can also add the following properties (source, service, host, tags) to the Serilog sink.

var config = new DatadogConfiguration("intake.logs.datadoghq.com", 10516, 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
    }
}

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 bin/Release/Serilog.Sinks.Datadog.Logs.<version>.nupkg

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Serilog.Sinks.Datadog.Logs:

Package Downloads
MarketplaceStack.Operations

SP API Operations

Prospa.Extensions.Hosting

.NET Core Hosting Extensions.

Delamain.Datadog

Simplified .NET Application entry points.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Serilog.Sinks.Datadog.Logs:

Repository Stars
DataDog/dd-trace-dotnet
.NET Tracer for Datadog APM
Version Downloads Last updated
0.3.5 189,000 9/8/2021
0.3.4 1,094,676 12/2/2020
0.3.3 346,037 9/24/2020
0.3.2 435,515 7/8/2020
0.3.1 364,492 1/29/2020
0.3.0 392,330 4/11/2019
0.2.0 67,162 2/5/2019
0.1.5 3,728 1/10/2019
0.1.4 7,564 11/2/2018
0.1.3 35,302 7/30/2018