(ctx context.Context, data pgx.TraceConnectEndData)
| 286 | } |
| 287 | |
| 288 | func (tl *TraceLog) TraceConnectEnd(ctx context.Context, data pgx.TraceConnectEndData) { |
| 289 | tl.ensureConfig() |
| 290 | connectData := ctx.Value(tracelogConnectCtxKey).(*traceConnectData) |
| 291 | |
| 292 | endTime := time.Now() |
| 293 | interval := endTime.Sub(connectData.startTime) |
| 294 | |
| 295 | if data.Err != nil { |
| 296 | if tl.shouldLog(LogLevelError) { |
| 297 | tl.Logger.Log(ctx, LogLevelError, "Connect", map[string]any{ |
| 298 | "host": connectData.connConfig.Host, |
| 299 | "port": connectData.connConfig.Port, |
| 300 | "database": connectData.connConfig.Database, |
| 301 | tl.Config.TimeKey: interval, |
| 302 | "err": data.Err, |
| 303 | }) |
| 304 | } |
| 305 | return |
| 306 | } |
| 307 | |
| 308 | if data.Conn != nil { |
| 309 | if tl.shouldLog(LogLevelInfo) { |
| 310 | tl.log(ctx, data.Conn, LogLevelInfo, "Connect", map[string]any{ |
| 311 | "host": connectData.connConfig.Host, |
| 312 | "port": connectData.connConfig.Port, |
| 313 | "database": connectData.connConfig.Database, |
| 314 | tl.Config.TimeKey: interval, |
| 315 | }) |
| 316 | } |
| 317 | } |
| 318 | } |
| 319 | |
| 320 | type tracePrepareData struct { |
| 321 | startTime time.Time |
nothing calls this directly
no test coverage detected