Tsagko.Modules.Datadog.Logger
1.1.0
dotnet add package Tsagko.Modules.Datadog.Logger --version 1.1.0
NuGet\Install-Package Tsagko.Modules.Datadog.Logger -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tsagko.Modules.Datadog.Logger" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tsagko.Modules.Datadog.Logger" Version="1.1.0" />
<PackageReference Include="Tsagko.Modules.Datadog.Logger" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tsagko.Modules.Datadog.Logger --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Tsagko.Modules.Datadog.Logger, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tsagko.Modules.Datadog.Logger@1.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tsagko.Modules.Datadog.Logger&version=1.1.0
#tool nuget:?package=Tsagko.Modules.Datadog.Logger&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Tsagko Datadog Logger Module
A Tsagko module for Crosser that publishes logs to Datadog Log Management via the HTTP API.
Features
- Batching: Collects logs and sends them in batches for efficiency
- Compression: Optional gzip compression to reduce bandwidth
- Retry Logic: Automatic retries with exponential backoff for transient failures
- Flexible Mapping: Configure which message fields map to log content
- Multi-Region: Support for all Datadog datacenter regions
- Pass-through: Allows chaining with other modules in the flow
Installation
Add the NuGet package to your Crosser node:
dotnet add package Tsagko.Modules.Datadog.Logger
Or register the module in Crosser Cloud at https://cloud.crosser.io
Configuration
| Setting | Description | Default |
|---|---|---|
| API Key | Your Datadog API key | Required |
| Region | Datadog datacenter region (US1, US3, US5, EU, AP1, GOV) | US1 |
| Service Name | Name of the service sending logs | Required |
| Source | Source identifier for log parsing | crosser |
| Hostname | Hostname for logs (use ${hostname} for auto-detect) |
Auto |
| Default Tags | Comma-separated tags (e.g., env:prod,team:iot) |
None |
| Message Field | JSON path to log message field | message |
| Log Level Field | JSON path to log level field | None |
| Default Log Level | Level when not specified (Debug, Info, Warn, Error, Critical) | Info |
| Batch Size | Number of logs per batch | 100 |
| Flush Interval (ms) | Max wait time before sending | 5000 |
| Enable Compression | Use gzip compression | true |
| HTTP Timeout (ms) | Request timeout | 30000 |
| Max Retry Attempts | Retries for failed sends | 3 |
Usage Example
- Add the Datadog Logger module to your flow as an output
- Configure your Datadog API key and region
- Set the service name for your application
- Connect input/analytics modules to the Datadog Logger
- Deploy and run your flow
Input Message Format
The module accepts any JSON message and extracts fields based on your configuration:
{
"message": "User logged in successfully",
"level": "info",
"userId": "12345",
"timestamp": "2025-12-04T10:30:00Z"
}
With Message Field = "message" and Log Level Field = "level", this produces:
{
"message": "User logged in successfully",
"ddsource": "crosser",
"service": "your-service",
"hostname": "edge-node-01",
"status": "info",
"ddtags": "env:production,flow_id:xxx,module_id:yyy"
}
Datadog Regions
| Region | Location |
|---|---|
| US1 | United States (default) |
| US3 | United States |
| US5 | United States |
| EU | Europe (Germany) |
| AP1 | Asia Pacific (Japan) |
| GOV | US Government |
Building from Source
# Build
dotnet build -c Release
# Pack for NuGet
dotnet pack -c Release
# Output will be in bin/Release/
License
MIT License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- Crosser.EdgeNode.Flows (>= 5.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.