2.3.2.2 Go
ログを取得したいアプリケーションにmxload_goを追加します。
go get github.com/mxload/mxload_go
go get github.com/gwatts/gin-adapter
アプリケーションのエントリーポイント(通常main.go) に以下の内容を追加します。
現在Gin、go-chi、echoの3つのフレームワークに対応しています。
import (
...
+ mxload "github.com/mxload/mxload_go"
)
func main() {
r := gin.Default()
+ r.Use(adapter.Wrap(mxload.MiddlewareFunc(
+ &mxload.MxloadConfig{
+ Enabled: true,
+ CollectorURL: "https://lambda-public.mxload.mx/put-request-log",
+ ProjectID: YOUR_PROJECT_ID,
+ ServiceKey: "YOUR_SERVICE_KEY",
+ CustomHeaders: []string{
+ "Authorization",
+ },
+ IgnorePaths: []string{
+ "/ignored",
+ },
+ },
+ )))
...
}
import (
...
+ mxload "github.com/mxload/mxload_go"
)
func main() {
r := chi.NewRouter()
+ r.Use(mxload.MiddlewareFunc(
+ &mxload.MxloadConfig{
+ Enabled: true,
+ CollectorURL: "https://lambda-public.mxload.mx/put-request-log",
+ ProjectID: YOUR_PROJECT_ID,
+ ServiceKey: "YOUR_SERVICE_KEY",
+ CustomHeaders: []string{
+ "Authorization",
+ },
+ IgnorePaths: []string{
+ "/ignored",
+ },
+ },
+ ))
....
}
import (
...
+ mxload "github.com/mxload/mxload_go"
)
func main() {
e := echo.New()
+ e.Use(echo.WrapMiddleware(mxload.MiddlewareFunc(
+ &mxload.MxloadConfig{
+ Enabled: true,
+ CollectorURL: "https://lambda-public.mxload.mx/put-request-log",
+ ProjectID: YOUR_PROJECT_ID,
+ ServiceKey: "YOUR_SERVICE_KEY",
+ CustomHeaders: []string{
+ "Authorization",
+ },
+ IgnorePaths: []string{
+ "/ignored",
+ },
+ },
+ )))
...
}
主な設定パラメータは以下になります。
Enabled- 送信の有効/無効を切り替えます。デフォルトは
falseです。
- 送信の有効/無効を切り替えます。デフォルトは
collector_url- ログを受信するmxloadのURL。
https://lambda-public.mxload.mx/put-request-logを指定します。
- ログを受信するmxloadのURL。
ProjectID- 作成したprojectのidを設定します。
project_idはホーム・またはプロジェクト詳細から確認できます。
- 作成したprojectのidを設定します。
ServiceKey- # サービスキーの発行 で作成したサービスキーを設定します。
CustomHeaders(オプション)- ヘッダーの内容を記録する際に必要です。
- 例:
"Content-Type": "application/json"を含めたい場合、CustomHeadersの値にContent-Typeを追加します。
IgnorePaths(オプション)- リクエストパスが
IgnorePaths内にある場合、リクエストログの送信を無視します。 /healthなど、ヘルスチェックのパスを無効にしたい場合に設定します。
- リクエストパスが
Mx.Loadに送信されるログパラメータは以下になります。
- メソッド
- リクエストパス
- リクエストボディ
- クエリパラメーター
- リクエストヘッダ
- クッキー