Go ログとトレースの接続
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Go ログとトレースの接続

トレースおよびスパン ID を手動で挿入する

Go トレーサーは、スパン情報と、%v 形式の指定子を使ったログステートメントの印刷を可能にします。

package main

import (
    "net/http"

    "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)

func handler(w http.ResponseWriter, r *http.Request) {
    // /posts URL にウェブリクエストようのスパンを作成。
    span := tracer.StartSpan("web.request", tracer.ResourceName("/posts"))
    defer span.Finish()

    // スパン情報をログメッセージに付加:
    log.Printf("my log message %v", span)
}

上記の例は、標準ライブラリの log パッケージのスパンのコンテキストの使い方を説明しています。同様のロジックがサードパーティパッケージにも適用される場合があります。

: Datadog ログインテグレーションを使ってログをパースしていない場合は、カスタムログパースルールによって dd.trace_iddd.span_iddd.servicedd.envdd.version が文字列としてパースされていることを確実にする必要があります。詳しくは、このトピックの FAQ を参照してください。

その他の参考資料