Skip to content

Commit 135b01b

Browse files
authored
Convert Cortex to new Prom-2-style logging (#610)
This makes the codebase work better together with the Prometheus components which expect an injected go-kit logger, and also makes things more consistent overall. I'm introducing a Cortex-wide shared logger for now so that this change doesn't become even bigger. Eventually, it would be good to change all Cortex components to take injected loggers.
1 parent 3037b7b commit 135b01b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+535
-323
lines changed

Gopkg.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/alertmanager/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ go_library(
88
deps = [
99
"//pkg/alertmanager:go_default_library",
1010
"//pkg/util:go_default_library",
11-
"//vendor/github.com/prometheus/common/log:go_default_library",
11+
"//vendor/github.com/go-kit/kit/log/level:go_default_library",
1212
"//vendor/github.com/weaveworks/common/middleware:go_default_library",
1313
"//vendor/github.com/weaveworks/common/server:go_default_library",
14-
"//vendor/github.com/weaveworks/promrus:go_default_library",
1514
"//vendor/google.golang.org/grpc:go_default_library",
1615
],
1716
)

cmd/alertmanager/main.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ package main
1515

1616
import (
1717
"flag"
18+
"os"
1819

1920
"google.golang.org/grpc"
2021

21-
"github.com/prometheus/common/log"
22+
"github.com/go-kit/kit/log/level"
2223
"github.com/weaveworks/common/middleware"
2324
"github.com/weaveworks/common/server"
2425
"github.com/weaveworks/cortex/pkg/alertmanager"
2526
"github.com/weaveworks/cortex/pkg/util"
26-
"github.com/weaveworks/promrus"
2727
)
2828

2929
func main() {
@@ -35,23 +35,25 @@ func main() {
3535
},
3636
}
3737
alertmanagerConfig alertmanager.MultitenantAlertmanagerConfig
38+
logLevel util.LogLevel
3839
)
39-
util.RegisterFlags(&serverConfig, &alertmanagerConfig, util.LogLevel{})
40+
util.RegisterFlags(&serverConfig, &alertmanagerConfig, &logLevel)
4041
flag.Parse()
4142

42-
hook := promrus.MustNewPrometheusHook()
43-
log.AddHook(hook)
43+
util.InitLogger(logLevel.AllowedLevel)
4444

4545
multiAM, err := alertmanager.NewMultitenantAlertmanager(&alertmanagerConfig)
4646
if err != nil {
47-
log.Fatalf("Error initializing MultitenantAlertmanager: %v", err)
47+
level.Error(util.Logger).Log("msg", "error initializing MultitenantAlertmanager", "err", err)
48+
os.Exit(1)
4849
}
4950
go multiAM.Run()
5051
defer multiAM.Stop()
5152

5253
server, err := server.New(serverConfig)
5354
if err != nil {
54-
log.Fatalf("Error initializing server: %v", err)
55+
level.Error(util.Logger).Log("msg", "error initializing server", "err", err)
56+
os.Exit(1)
5557
}
5658
defer server.Shutdown()
5759

cmd/configs/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ go_library(
99
"//pkg/configs/api:go_default_library",
1010
"//pkg/configs/db:go_default_library",
1111
"//pkg/util:go_default_library",
12-
"//vendor/github.com/prometheus/common/log:go_default_library",
12+
"//vendor/github.com/go-kit/kit/log/level:go_default_library",
1313
"//vendor/github.com/weaveworks/common/middleware:go_default_library",
1414
"//vendor/github.com/weaveworks/common/server:go_default_library",
15-
"//vendor/github.com/weaveworks/promrus:go_default_library",
1615
"//vendor/google.golang.org/grpc:go_default_library",
1716
],
1817
)

cmd/configs/main.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ package main
22

33
import (
44
"flag"
5+
"os"
56

6-
"github.com/prometheus/common/log"
7+
"github.com/go-kit/kit/log/level"
78
"google.golang.org/grpc"
89

910
"github.com/weaveworks/common/middleware"
1011
"github.com/weaveworks/common/server"
1112
"github.com/weaveworks/cortex/pkg/configs/api"
1213
"github.com/weaveworks/cortex/pkg/configs/db"
1314
"github.com/weaveworks/cortex/pkg/util"
14-
"github.com/weaveworks/promrus"
1515
)
1616

1717
func main() {
@@ -25,23 +25,26 @@ func main() {
2525
},
2626
}
2727
dbConfig db.Config
28+
logLevel util.LogLevel
2829
)
29-
util.RegisterFlags(&serverConfig, &dbConfig)
30+
util.RegisterFlags(&serverConfig, &dbConfig, &logLevel)
3031
flag.Parse()
3132

32-
log.AddHook(promrus.MustNewPrometheusHook())
33+
util.InitLogger(logLevel.AllowedLevel)
3334

3435
db, err := db.New(dbConfig)
3536
if err != nil {
36-
log.Fatalf("Error initializing database: %v", err)
37+
level.Error(util.Logger).Log("msg", "error initializing database", "err", err)
38+
os.Exit(1)
3739
}
3840
defer db.Close()
3941

4042
a := api.New(db)
4143

4244
server, err := server.New(serverConfig)
4345
if err != nil {
44-
log.Fatalf("Error initializing server: %v", err)
46+
level.Error(util.Logger).Log("msg", "error initializing server", "err", err)
47+
os.Exit(1)
4548
}
4649
defer server.Shutdown()
4750

cmd/distributor/BUILD.bazel

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ go_library(
88
deps = [
99
"//pkg/distributor:go_default_library",
1010
"//pkg/ring:go_default_library",
11-
"//pkg/tracing:go_default_library",
1211
"//pkg/util:go_default_library",
12+
"//vendor/github.com/go-kit/kit/log/level:go_default_library",
1313
"//vendor/github.com/opentracing-contrib/go-stdlib/nethttp:go_default_library",
1414
"//vendor/github.com/opentracing/opentracing-go:go_default_library",
1515
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
1616
"//vendor/github.com/prometheus/common/log:go_default_library",
1717
"//vendor/github.com/weaveworks/common/middleware:go_default_library",
1818
"//vendor/github.com/weaveworks/common/server:go_default_library",
19+
"//vendor/github.com/weaveworks/common/tracing:go_default_library",
1920
"//vendor/github.com/weaveworks/promrus:go_default_library",
2021
"//vendor/google.golang.org/grpc:go_default_library",
2122
],

cmd/distributor/main.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"net/http"
66
"os"
77

8+
"github.com/go-kit/kit/log/level"
89
"github.com/opentracing-contrib/go-stdlib/nethttp"
910
"github.com/opentracing/opentracing-go"
1011
"github.com/prometheus/client_golang/prometheus"
@@ -47,10 +48,13 @@ func main() {
4748
}
4849
ringConfig ring.Config
4950
distributorConfig distributor.Config
51+
logLevel util.LogLevel
5052
)
51-
util.RegisterFlags(&serverConfig, &ringConfig, &distributorConfig, util.LogLevel{})
53+
util.RegisterFlags(&serverConfig, &ringConfig, &distributorConfig, &logLevel)
5254
flag.Parse()
5355

56+
util.InitLogger(logLevel.AllowedLevel)
57+
5458
// Setting the environment variable JAEGER_AGENT_HOST enables tracing
5559
jaegerAgentHost := os.Getenv("JAEGER_AGENT_HOST")
5660
trace := tracing.New(jaegerAgentHost, "distributor")
@@ -60,20 +64,23 @@ func main() {
6064

6165
r, err := ring.New(ringConfig)
6266
if err != nil {
63-
log.Fatalf("Error initializing ring: %v", err)
67+
level.Error(util.Logger).Log("msg", "error initializing ring", "err", err)
68+
os.Exit(1)
6469
}
6570
defer r.Stop()
6671

6772
dist, err := distributor.New(distributorConfig, r)
6873
if err != nil {
69-
log.Fatalf("Error initializing distributor: %v", err)
74+
level.Error(util.Logger).Log("msg", "error initializing distributor", "err", err)
75+
os.Exit(1)
7076
}
7177
defer dist.Stop()
7278
prometheus.MustRegister(dist)
7379

7480
server, err := server.New(serverConfig)
7581
if err != nil {
76-
log.Fatalf("Error initializing server: %v", err)
82+
level.Error(util.Logger).Log("msg", "error initializing server", "err", err)
83+
os.Exit(1)
7784
}
7885
defer server.Shutdown()
7986

cmd/ingester/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@ go_library(
1111
"//pkg/ingester:go_default_library",
1212
"//pkg/ingester/client:go_default_library",
1313
"//pkg/util:go_default_library",
14+
"//vendor/github.com/go-kit/kit/log/level:go_default_library",
1415
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
15-
"//vendor/github.com/prometheus/common/log:go_default_library",
1616
"//vendor/github.com/weaveworks/common/middleware:go_default_library",
1717
"//vendor/github.com/weaveworks/common/server:go_default_library",
18-
"//vendor/github.com/weaveworks/promrus:go_default_library",
1918
"//vendor/google.golang.org/grpc:go_default_library",
2019
],
2120
)

cmd/ingester/main.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ package main
33
import (
44
"flag"
55
"net/http"
6+
"os"
67

8+
"github.com/go-kit/kit/log/level"
79
"github.com/prometheus/client_golang/prometheus"
8-
"github.com/prometheus/common/log"
910
"google.golang.org/grpc"
1011

1112
"github.com/weaveworks/common/middleware"
@@ -15,7 +16,6 @@ import (
1516
"github.com/weaveworks/cortex/pkg/ingester"
1617
"github.com/weaveworks/cortex/pkg/ingester/client"
1718
"github.com/weaveworks/cortex/pkg/util"
18-
"github.com/weaveworks/promrus"
1919
)
2020

2121
func main() {
@@ -30,36 +30,41 @@ func main() {
3030
schemaConfig chunk.SchemaConfig
3131
storageConfig storage.Config
3232
ingesterConfig ingester.Config
33+
logLevel util.LogLevel
3334
)
3435
// Ingester needs to know our gRPC listen port.
3536
ingesterConfig.ListenPort = &serverConfig.GRPCListenPort
3637
util.RegisterFlags(&serverConfig, &chunkStoreConfig, &storageConfig,
37-
&schemaConfig, &ingesterConfig, util.LogLevel{})
38+
&schemaConfig, &ingesterConfig, &logLevel)
3839
flag.Parse()
3940
schemaConfig.MaxChunkAge = ingesterConfig.MaxChunkAge
4041

41-
log.AddHook(promrus.MustNewPrometheusHook())
42+
util.InitLogger(logLevel.AllowedLevel)
4243

4344
server, err := server.New(serverConfig)
4445
if err != nil {
45-
log.Fatalf("Error initializing server: %v", err)
46+
level.Error(util.Logger).Log("msg", "error initializing server", "err", err)
47+
os.Exit(1)
4648
}
4749
defer server.Shutdown()
4850

4951
storageClient, err := storage.NewStorageClient(storageConfig, schemaConfig)
5052
if err != nil {
51-
log.Fatalf("Error initializing storage client: %v", err)
53+
level.Error(util.Logger).Log("msg", "error initializing storage client", "err", err)
54+
os.Exit(1)
5255
}
5356

5457
chunkStore, err := chunk.NewStore(chunkStoreConfig, schemaConfig, storageClient)
5558
if err != nil {
56-
log.Fatal(err)
59+
level.Error(util.Logger).Log("err", err)
60+
os.Exit(1)
5761
}
5862
defer chunkStore.Stop()
5963

6064
ingester, err := ingester.New(ingesterConfig, chunkStore)
6165
if err != nil {
62-
log.Fatal(err)
66+
level.Error(util.Logger).Log("err", err)
67+
os.Exit(1)
6368
}
6469
prometheus.MustRegister(ingester)
6570
defer ingester.Shutdown()

cmd/lite/BUILD.bazel

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,19 @@ go_library(
1414
"//pkg/querier:go_default_library",
1515
"//pkg/ring:go_default_library",
1616
"//pkg/ruler:go_default_library",
17-
"//pkg/tracing:go_default_library",
1817
"//pkg/util:go_default_library",
18+
"//vendor/github.com/go-kit/kit/log/level:go_default_library",
1919
"//vendor/github.com/opentracing-contrib/go-stdlib/nethttp:go_default_library",
2020
"//vendor/github.com/opentracing/opentracing-go:go_default_library",
2121
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
22-
"//vendor/github.com/prometheus/common/log:go_default_library",
2322
"//vendor/github.com/prometheus/common/route:go_default_library",
2423
"//vendor/github.com/prometheus/prometheus/config:go_default_library",
2524
"//vendor/github.com/prometheus/prometheus/promql:go_default_library",
2625
"//vendor/github.com/prometheus/prometheus/web/api/v1:go_default_library",
2726
"//vendor/github.com/weaveworks/common/middleware:go_default_library",
2827
"//vendor/github.com/weaveworks/common/server:go_default_library",
28+
"//vendor/github.com/weaveworks/common/tracing:go_default_library",
2929
"//vendor/github.com/weaveworks/common/user:go_default_library",
30-
"//vendor/github.com/weaveworks/promrus:go_default_library",
3130
"//vendor/google.golang.org/grpc:go_default_library",
3231
],
3332
)

0 commit comments

Comments
 (0)