@@ -30,20 +30,19 @@ import (
3030
3131 "github.com/go-logr/logr"
3232 "github.com/prometheus/client_golang/prometheus"
33- uberzap "go.uber.org/zap"
3433 "go.uber.org/zap/zapcore"
3534 "google.golang.org/grpc"
3635 healthPb "google.golang.org/grpc/health/grpc_health_v1"
3736 "k8s.io/apimachinery/pkg/runtime/schema"
3837 "k8s.io/apimachinery/pkg/types"
3938 ctrl "sigs.k8s.io/controller-runtime"
4039 "sigs.k8s.io/controller-runtime/pkg/log"
41- "sigs.k8s.io/controller-runtime/pkg/log/zap"
4240 "sigs.k8s.io/controller-runtime/pkg/manager"
4341 "sigs.k8s.io/controller-runtime/pkg/metrics/filters"
4442 metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
4543
4644 "sigs.k8s.io/gateway-api-inference-extension/internal/runnable"
45+ "sigs.k8s.io/gateway-api-inference-extension/internal/telemetry/logging"
4746 "sigs.k8s.io/gateway-api-inference-extension/pkg/common"
4847 backendmetrics "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/backend/metrics"
4948 "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/config/loader"
@@ -63,7 +62,6 @@ import (
6362 testfilter "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/framework/plugins/test/filter"
6463 runserver "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/server"
6564 "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/env"
66- "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
6765 "sigs.k8s.io/gateway-api-inference-extension/version"
6866)
6967
8179 poolName = flag .String ("pool-name" , runserver .DefaultPoolName , "Name of the InferencePool this Endpoint Picker is associated with." )
8280 poolGroup = flag .String ("pool-group" , runserver .DefaultPoolGroup , "group of the InferencePool this Endpoint Picker is associated with." )
8381 poolNamespace = flag .String ("pool-namespace" , runserver .DefaultPoolNamespace , "Namespace of the InferencePool this Endpoint Picker is associated with." )
84- logVerbosity = flag .Int ( "v " , logging .DEFAULT , "number for the log level verbosity" )
82+ logVerbosity = flag .String ( "log-level " , logging .DefaultLogLevel , "log level verbosity, support: debug, info, warn, error, dpanic, panic, fatal " )
8583 secureServing = flag .Bool ("secure-serving" , runserver .DefaultSecureServing , "Enables secure serving. Defaults to true." )
8684 healthChecking = flag .Bool ("health-checking" , runserver .DefaultHealthChecking , "Enables health checking" )
8785 certPath = flag .String ("cert-path" , runserver .DefaultCertPath , "The path to the certificate for secure serving. The certificate and private key files " +
@@ -134,13 +132,10 @@ func (r *Runner) WithSchedulerConfig(schedulerConfig *scheduling.SchedulerConfig
134132}
135133
136134func (r * Runner ) Run (ctx context.Context ) error {
137- opts := zap.Options {
138- Development : true ,
139- }
140- opts .BindFlags (flag .CommandLine )
141135 flag .Parse ()
142- initLogging (& opts )
143136
137+ // --- set up logger
138+ ctrl .SetLogger (logging .InitLogging (* logVerbosity , true ))
144139 setupLog .Info ("GIE build" , "commit-sha" , version .CommitSHA , "build-ref" , version .BuildRef )
145140
146141 // Validate flags
@@ -419,24 +414,6 @@ func setupDatalayer() (datalayer.EndpointFactory, error) {
419414 return factory , nil
420415}
421416
422- func initLogging (opts * zap.Options ) {
423- // Unless -zap-log-level is explicitly set, use -v
424- useV := true
425- flag .Visit (func (f * flag.Flag ) {
426- if f .Name == "zap-log-level" {
427- useV = false
428- }
429- })
430- if useV {
431- // See https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/log/zap#Options.Level
432- lvl := - 1 * (* logVerbosity )
433- opts .Level = uberzap .NewAtomicLevelAt (zapcore .Level (int8 (lvl )))
434- }
435-
436- logger := zap .New (zap .UseFlagOptions (opts ), zap .RawZapOpts (uberzap .AddCaller ()))
437- ctrl .SetLogger (logger )
438- }
439-
440417// registerExtProcServer adds the ExtProcServerRunner as a Runnable to the manager.
441418func registerExtProcServer (mgr manager.Manager , runner * runserver.ExtProcServerRunner , logger logr.Logger ) error {
442419 if err := mgr .Add (runner .AsRunnable (logger )); err != nil {
@@ -474,6 +451,9 @@ func validateFlags() error {
474451 if * modelServerMetricsScheme != "http" && * modelServerMetricsScheme != "https" {
475452 return fmt .Errorf ("unexpected %q value for %q flag, it can only be set to 'http' or 'https'" , * modelServerMetricsScheme , "model-server-metrics-scheme" )
476453 }
454+ if _ , err := zapcore .ParseLevel (* logVerbosity ); err != nil {
455+ return err
456+ }
477457
478458 return nil
479459}
0 commit comments