Skip to content

Commit 1497c2d

Browse files
Keep external logger setup inside util log
Signed-off-by: Rohithmatham12 <rohithmatham@gmail.com>
1 parent 2a4c496 commit 1497c2d

3 files changed

Lines changed: 20 additions & 14 deletions

File tree

cmd/cortex/main.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"github.com/prometheus/client_golang/prometheus/collectors"
2121
collectorversion "github.com/prometheus/client_golang/prometheus/collectors/version"
2222
"github.com/prometheus/common/version"
23-
"go.uber.org/automaxprocs/maxprocs"
2423
"gopkg.in/yaml.v2"
2524

2625
"github.com/cortexproject/cortex/pkg/cortex"
@@ -170,9 +169,7 @@ func main() {
170169
}
171170

172171
util_log.InitLogger(&cfg.Server)
173-
if _, err := maxprocs.Set(maxprocs.Logger(util_log.AutomaxprocsLogger(util_log.Logger))); err != nil {
174-
level.Warn(util_log.Logger).Log("msg", "failed to set GOMAXPROCS from CPU quota", "err", err)
175-
}
172+
util_log.InitAutomaxprocs()
176173
util.InitEvents(eventSampleRate)
177174

178175
ctx, cancelFn := context.WithCancel(context.Background())

pkg/util/log/external.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,35 @@ import (
88

99
kitlog "github.com/go-kit/log"
1010
"github.com/go-kit/log/level"
11+
"go.uber.org/automaxprocs/maxprocs"
1112
"google.golang.org/grpc/grpclog"
1213
)
1314

1415
// InitExternalLoggers configures package-level loggers from dependencies that
1516
// do not take Cortex's logger through normal constructors.
1617
func InitExternalLoggers() {
17-
grpclog.SetLoggerV2(NewGRPCLogger(Logger))
18+
grpclog.SetLoggerV2(newGRPCLogger(Logger))
1819
}
1920

20-
// AutomaxprocsLogger adapts the printf-style logger used by automaxprocs to
21+
// InitAutomaxprocs configures GOMAXPROCS from the container CPU quota and logs
22+
// through Cortex's configured logger.
23+
func InitAutomaxprocs() {
24+
if _, err := maxprocs.Set(maxprocs.Logger(automaxprocsLogger(Logger))); err != nil {
25+
level.Warn(Logger).Log("msg", "failed to set GOMAXPROCS from CPU quota", "err", err)
26+
}
27+
}
28+
29+
// automaxprocsLogger adapts the printf-style logger used by automaxprocs to
2130
// Cortex's configured go-kit logger.
22-
func AutomaxprocsLogger(logger kitlog.Logger) func(string, ...interface{}) {
23-
return func(format string, args ...interface{}) {
31+
func automaxprocsLogger(logger kitlog.Logger) func(string, ...any) {
32+
return func(format string, args ...any) {
2433
level.Info(logger).Log("msg", fmt.Sprintf(format, args...))
2534
}
2635
}
2736

28-
// NewGRPCLogger adapts gRPC's package-level logger to Cortex's configured
37+
// newGRPCLogger adapts gRPC's package-level logger to Cortex's configured
2938
// go-kit logger so gRPC transport logs use the selected Cortex log format.
30-
func NewGRPCLogger(logger kitlog.Logger) grpclog.LoggerV2 {
39+
func newGRPCLogger(logger kitlog.Logger) grpclog.LoggerV2 {
3140
return &grpcLogger{
3241
logger: logger,
3342
severity: grpcSeverityFromEnv(),

pkg/util/log/external_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func TestGRPCLoggerUsesConfiguredLogger(t *testing.T) {
1515
t.Setenv("GRPC_GO_LOG_VERBOSITY_LEVEL", "")
1616

1717
logger, logs := testJSONLogger(t)
18-
grpcLogger := NewGRPCLogger(logger)
18+
grpcLogger := newGRPCLogger(logger)
1919

2020
grpcLogger.Info("not logged by default")
2121
grpcLogger.Error("transport failure")
@@ -29,7 +29,7 @@ func TestGRPCLoggerUsesConfiguredLogger(t *testing.T) {
2929
func TestAutomaxprocsLoggerUsesConfiguredLogger(t *testing.T) {
3030
logger, logs := testJSONLogger(t)
3131

32-
AutomaxprocsLogger(logger)("maxprocs: Leaving GOMAXPROCS=%v: CPU quota undefined", 4)
32+
automaxprocsLogger(logger)("maxprocs: Leaving GOMAXPROCS=%v: CPU quota undefined", 4)
3333

3434
entry := readSingleJSONLogEntry(t, logs)
3535
require.Equal(t, "info", entry["level"])
@@ -46,13 +46,13 @@ func testJSONLogger(t *testing.T) (kitlog.Logger, *bytes.Buffer) {
4646
return newPrometheusLoggerFrom(kitlog.NewJSONLogger(logs), logLevel), logs
4747
}
4848

49-
func readSingleJSONLogEntry(t *testing.T, logs *bytes.Buffer) map[string]interface{} {
49+
func readSingleJSONLogEntry(t *testing.T, logs *bytes.Buffer) map[string]any {
5050
t.Helper()
5151

5252
lines := bytes.Split(bytes.TrimSpace(logs.Bytes()), []byte("\n"))
5353
require.Len(t, lines, 1)
5454

55-
var entry map[string]interface{}
55+
var entry map[string]any
5656
require.NoError(t, json.Unmarshal(lines[0], &entry))
5757
return entry
5858
}

0 commit comments

Comments
 (0)