Skip to content

Commit

Permalink
Merge pull request #242 from timdengyun/Init_logger_before_load_opera…
Browse files Browse the repository at this point in the history
…tor_config_file_v4.1.0

Init logger before load operator config file
  • Loading branch information
timdengyun committed Aug 8, 2023
2 parents 30c36b9 + 724b29c commit ffcd336
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 21 deletions.
11 changes: 6 additions & 5 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"os"
"time"

"github.com/go-logr/logr"
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
Expand All @@ -28,25 +27,27 @@ import (
var (
scheme = runtime.NewScheme()
probeAddr, metricsAddr string
log logr.Logger
log = logger.Log
cf *config.NSXOperatorConfig
)

func init() {
var err error
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(v1alpha1.AddToScheme(scheme))

flag.StringVar(&probeAddr, "health-probe-bind-address", ":8384", "The address the probe endpoint binds to.")
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8093", "The address the metrics endpoint binds to.")
config.AddFlags()
flag.Parse()
var err error

logf.SetLogger(logger.ZapLogger())
cf, err = config.NewNSXOperatorConfigFromFile()
if err != nil {
log.Error(err, "load config file error")
os.Exit(1)
}
logf.SetLogger(logger.ZapLogger(cf))
log = logf.Log.WithName("main")

if metrics.AreMetricsExposed(cf) {
metrics.InitializePrometheusMetrics()
}
Expand Down
1 change: 1 addition & 0 deletions pkg/apis/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ var (
tokenProvider auth.TokenProvider
)

//TODO delete unnecessary config

// TODO delete unnecessary config
type NSXOperatorConfig struct {
*DefaultConfig
*CoeConfig
Expand Down Expand Up @@ -158,7 +157,7 @@ func (operatorConfig *NSXOperatorConfig) GetTokenProvider() auth.TokenProvider {
}

func (operatorConfig *NSXOperatorConfig) createTokenProvider() error {
log.V(2).Info("try to load VC host CA")
log.V(1).Info("try to load VC host CA")
var vcCaCert []byte
var err error
if !operatorConfig.Insecure {
Expand Down
24 changes: 11 additions & 13 deletions pkg/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import (
"github.com/go-logr/logr"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
logf "sigs.k8s.io/controller-runtime/pkg/log"
zapcr "sigs.k8s.io/controller-runtime/pkg/log/zap"

"github.com/vmware-tanzu/nsx-operator/pkg/config"
)

const logTmFmtWithMS = "2006-01-02 15:04:05.000"

var (
logLevel int
Log logr.Logger
customTimeEncoder = func(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
enc.AppendString(t.Format(logTmFmtWithMS))
}
Expand All @@ -26,10 +26,10 @@ var (

func init() {
flag.IntVar(&logLevel, "log-level", 0, "Use zap-core log system.")
Log = logf.Log.WithName("nsx-operator")
}

func ZapLogger(cf *config.NSXOperatorConfig) logr.Logger {

func ZapLogger() logr.Logger {
encoderConf := zapcore.EncoderConfig{
CallerKey: "caller_line",
LevelKey: "level_name",
Expand All @@ -52,15 +52,13 @@ func ZapLogger(cf *config.NSXOperatorConfig) logr.Logger {
}
opts.BindFlags(flag.CommandLine)

if cf.Debug == true {
// In level.go of zapcore, higher levels are more important.
// However, in logr.go, a higher verbosity level means a log message is less important.
// So we need to reverse the order of the levels.
opts.Level = zapcore.Level(-1 * logLevel)
opts.ZapOpts = append(opts.ZapOpts, zap.AddCaller(), zap.AddCallerSkip(0))
if logLevel > 0 {
opts.StacktraceLevel = zap.ErrorLevel
}
// In level.go of zapcore, higher levels are more important.
// However, in logr.go, a higher verbosity level means a log message is less important.
// So we need to reverse the order of the levels.
opts.Level = zapcore.Level(-1 * logLevel)
opts.ZapOpts = append(opts.ZapOpts, zap.AddCaller(), zap.AddCallerSkip(0))
if logLevel > 0 {
opts.StacktraceLevel = zap.ErrorLevel
}
return zapcr.New(zapcr.UseFlagOptions(&opts))
}

0 comments on commit ffcd336

Please sign in to comment.