Skip to content

Commit 93f9b29

Browse files
authored
Merge pull request #24 from PDOK/PDOK-17771-different-logging
Switched logging framework
2 parents 50e69ad + 1474a46 commit 93f9b29

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Kubebuilder DevContainer",
3-
"image": "docker.io/golang:1.23",
3+
"image": "docker.io/golang:1.24",
44
"features": {
55
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
66
"ghcr.io/devcontainers/features/git:1": {}

cmd/main.go

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@ import (
2020
"crypto/tls"
2121
"errors"
2222
"flag"
23+
"os"
24+
"path/filepath"
25+
26+
"github.com/go-logr/zapr"
2327
"github.com/pdok/mapserver-operator/internal/controller/mapfilegenerator"
2428
smoothoperator "github.com/pdok/smooth-operator/api/v1"
29+
"github.com/pdok/smooth-operator/pkg/integrations/logging"
2530
traefikiov1alpha1 "github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
26-
"os"
27-
"path/filepath"
31+
"go.uber.org/zap/zapcore"
2832

2933
// Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
3034
// to ensure that exec-entrypoint and run can make use of them.
@@ -36,7 +40,6 @@ import (
3640
ctrl "sigs.k8s.io/controller-runtime"
3741
"sigs.k8s.io/controller-runtime/pkg/certwatcher"
3842
"sigs.k8s.io/controller-runtime/pkg/healthz"
39-
"sigs.k8s.io/controller-runtime/pkg/log/zap"
4043
"sigs.k8s.io/controller-runtime/pkg/metrics/filters"
4144
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
4245
"sigs.k8s.io/controller-runtime/pkg/webhook"
@@ -88,6 +91,8 @@ func main() {
8891
var host string
8992
var mapserverDebugLevel int
9093
var multitoolImage, mapfileGeneratorImage, mapserverImage, capabilitiesGeneratorImage, featureinfoGeneratorImage, ogcWebserviceProxyImage, apacheExporterImage string
94+
var slackWebhookURL string
95+
var logLevel int
9196
flag.StringVar(&metricsAddr, "metrics-bind-address", "0", "The address the metrics endpoint binds to. "+
9297
"Use :8443 for HTTPS or :8080 for HTTP, or leave as 0 to disable the metrics service.")
9398
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
@@ -114,14 +119,16 @@ func main() {
114119
flag.StringVar(&ogcWebserviceProxyImage, "ogc-webservice-proxy-image", defaultOgcWebserviceProxyImage, "The image to use in the ogc webservice proxy container.")
115120
flag.StringVar(&apacheExporterImage, "apache-exporter-image", defaultApacheExporterImage, "The image to use in the apache-exporter container.")
116121
flag.IntVar(&mapserverDebugLevel, "mapserver-debug-level", 0, "Debug level for the mapserver container, between 0 (error only) and 5 (very very verbose).")
122+
flag.StringVar(&slackWebhookURL, "slack-webhook-url", "", "The webhook url for sending slack messages. Disabled if left empty")
123+
flag.IntVar(&logLevel, "log-level", 0, "The zapcore loglevel. 0 = info, 1 = warn, 2 = error")
117124

118-
opts := zap.Options{
119-
Development: true,
120-
}
121-
opts.BindFlags(flag.CommandLine)
122125
flag.Parse()
123126

124-
ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))
127+
//nolint:gosec
128+
levelEnabler := zapcore.Level(logLevel)
129+
zapLogger, _ := logging.SetupLogger("atom-operator", slackWebhookURL, levelEnabler)
130+
131+
ctrl.SetLogger(zapr.NewLogger(zapLogger))
125132

126133
if host == "" {
127134
setupLog.Error(errors.New("baseURL is required"), "A value for baseURL must be specified.")

test/e2e/e2e_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ var _ = Describe("Manager", Ordered, func() {
210210
cmd := exec.Command("kubectl", "logs", controllerPodName, "-n", namespace)
211211
output, err := utils.Run(cmd)
212212
g.Expect(err).NotTo(HaveOccurred())
213-
g.Expect(output).To(ContainSubstring("controller-runtime.metrics\tServing metrics server"),
213+
g.Expect(output).To(ContainSubstring("Serving metrics server"),
214214
"Metrics server not yet started")
215215
}
216216
Eventually(verifyMetricsServerStarted).Should(Succeed())

0 commit comments

Comments
 (0)