MCPcopy Create free account
hub / github.com/GoogleCloudPlatform/cloud-sql-proxy / NewStructuredLogger

Function NewStructuredLogger

internal/log/log.go:81–101  ·  view source on GitHub ↗

NewStructuredLogger creates a Logger that logs messages using JSON.

(quiet bool)

Source from the content-addressed store, hash-verified

79
80// NewStructuredLogger creates a Logger that logs messages using JSON.
81func NewStructuredLogger(quiet bool) cloudsql.Logger {
82 var infoHandler, errorHandler slog.Handler
83 if quiet {
84 infoHandler = slog.DiscardHandler
85 } else {
86 infoHandler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
87 Level: slog.LevelDebug,
88 ReplaceAttr: replaceAttr,
89 })
90 }
91 errorHandler = slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
92 Level: slog.LevelError,
93 ReplaceAttr: replaceAttr,
94 })
95
96 l := &StructuredLogger{
97 stdLog: slog.New(infoHandler),
98 errLog: slog.New(errorHandler),
99 }
100 return l
101}
102
103// replaceAttr remaps default Go logging keys to adhere to LogEntry format
104// https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry

Callers 1

loadConfigFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected