/
logger.go
36 lines (27 loc) · 1022 Bytes
/
logger.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package chrome
import (
"context"
"log"
)
var contextErrorLoggerKey = "error-logger" //nolint:gochecknoglobals
func errorLogger(ctx context.Context) *log.Logger {
logger, ok := ctx.Value(&contextErrorLoggerKey).(*log.Logger)
if !ok {
panic("no error logger")
}
return log.New(logger.Writer(), logger.Prefix(), logger.Flags())
}
func withErrorLogger(ctx context.Context, logger *log.Logger) context.Context {
return context.WithValue(ctx, &contextErrorLoggerKey, log.New(logger.Writer(), logger.Prefix(), logger.Flags()))
}
var contextInfoLoggerKey = "info-logger" //nolint:gochecknoglobals
func infoLogger(ctx context.Context) *log.Logger {
logger, ok := ctx.Value(&contextInfoLoggerKey).(*log.Logger)
if !ok {
panic("no info logger")
}
return log.New(logger.Writer(), logger.Prefix(), logger.Flags())
}
func withInfoLogger(ctx context.Context, logger *log.Logger) context.Context {
return context.WithValue(ctx, &contextInfoLoggerKey, log.New(logger.Writer(), logger.Prefix(), logger.Flags()))
}