v2 API Endpoints, add new regions (#7)
This package implements a handler for swift-log which will send log messages to the Datadog’s Log Management service.
Integrate the DataDogLog package as a dependency with Swift Package Manager. Add the following to Package.swift:
DataDogLog
Package.swift
.package(url: "git@github.com:jagreenwood/swift-log-datadog.git", from: "0.0.1")
Add DataDogLog to your target dependencies:
.product(name: "DataDogLog", package: "swift-log-datadog")
Configure the logger by bootstrapping a DataDogLogHandler instance.
DataDogLogHandler
import DataDogLog // add handler to logging system LoggingSystem.bootstrap { // initialize handler instance var handler = DataDogLogHandler(label: $0, key: "xxx", hostname: "hostname") // global metadata (optional) handler.metadata = ["foo":"bar"] return handler }
To send logs to Datadog, initialize a Logger instance and send a message with optional additional metadata:
Logger
import DataDogLog let logger = Logger(label: "com.swift-log.awesome-app") logger.error("unfortunate error", metadata: ["request-id": "abc-123"], source: "module-name")
This call will send the following payload to Datadog:
{ "message": "2020-05-27T06:37:17-0400 ERROR: unfortunate error", "hostname": "hostname", "ddsource": "module-name", "ddtags": "callsite:testLog():39,foo:bar,request-id:abc-123", "status": "error" "service": "com.swift-log.awesome-app" }
The Datadog API runs on multiple regions (e.g. US, EU, US3, US5, US1FED), with different API endpoints. If your account was not created in the default US region, you need to set the region option when initializing DataDogLogHandler:
region
DataDogLogHandler(label: $0, key: "xxx", hostname: "hostname", region: .EU)
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
DataDogLog 🐶
This package implements a handler for swift-log which will send log messages to the Datadog’s Log Management service.
Usage
Add Package 📦
Integrate the
DataDogLog
package as a dependency with Swift Package Manager. Add the following toPackage.swift
:Add
DataDogLog
to your target dependencies:Configure ⚙️
Configure the logger by bootstrapping a
DataDogLogHandler
instance.Logging 🌲
To send logs to Datadog, initialize a
Logger
instance and send a message with optional additional metadata:This call will send the following payload to Datadog:
Select Region 🌎
The Datadog API runs on multiple regions (e.g. US, EU, US3, US5, US1FED), with different API endpoints. If your account was not created in the default US region, you need to set the
region
option when initializingDataDogLogHandler
: