Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Commit

Permalink
Enable the ability to set log level #238 (#249)
Browse files Browse the repository at this point in the history
* feat(loglevel): adding loglevel flag to set loglevel

* chore: don't shadow package name.

* chore(goimports): file watcher didn't run

* chore: check, report, and exit if we cannot set the log level
  • Loading branch information
rumstead committed Jun 2, 2021
1 parent c95a7e6 commit d01eaf8
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 9 deletions.
27 changes: 21 additions & 6 deletions main.go
Expand Up @@ -70,6 +70,8 @@ func main() {
var policy string
var debugLog bool
var dryRun bool
var logLevel string

flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
flag.StringVar(&probeBindAddr, "probe-addr", ":8081", "The address the probe endpoint binds to.")
flag.BoolVar(&enableLeaderElection, "enable-leader-election", false,
Expand All @@ -78,7 +80,8 @@ func main() {
flag.StringVar(&namespace, "namespace", "", "Argo CD repo namespace (default: argocd)")
flag.StringVar(&argocdRepoServer, "argocd-repo-server", "argocd-repo-server:8081", "Argo CD repo server address")
flag.StringVar(&policy, "policy", "sync", "Modify how application is synced between the generator and the cluster. Default is 'sync' (create & update & delete), options: 'create-only', 'create-update' (no deletion)")
flag.BoolVar(&debugLog, "debug", false, "Print debug logs")
flag.BoolVar(&debugLog, "debug", false, "Print debug logs. Takes precedence over loglevel")
flag.StringVar(&logLevel, "loglevel", "info", "Set the logging level. One of: debug|info|warn|error")
flag.BoolVar(&dryRun, "dry-run", false, "Enable dry run mode")
flag.Parse()

Expand All @@ -90,9 +93,7 @@ func main() {
os.Exit(1)
}

if debugLog {
log.SetLevel(log.DebugLevel)
}
setLoggingLevel(debugLog, logLevel)

// If user has not specified a namespace on the CLI, then use the value from NAMESPACE env var
if len(namespace) == 0 {
Expand Down Expand Up @@ -130,7 +131,7 @@ func main() {

k8s := kubernetes.NewForConfigOrDie(mgr.GetConfig())
argoSettingsMgr := argosettings.NewSettingsManager(context.Background(), k8s, namespace)
appclientset := appclientset.NewForConfigOrDie(mgr.GetConfig())
appSetConfig := appclientset.NewForConfigOrDie(mgr.GetConfig())

argoCDDB := db.NewDB(namespace, argoSettingsMgr, k8s)

Expand Down Expand Up @@ -159,7 +160,7 @@ func main() {
Recorder: mgr.GetEventRecorderFor("applicationset-controller"),
Renderer: &utils.Render{},
Policy: policyObj,
ArgoAppClientset: appclientset,
ArgoAppClientset: appSetConfig,
KubeClientset: k8s,
ArgoDB: argoCDDB,
}).SetupWithManager(mgr); err != nil {
Expand All @@ -177,3 +178,17 @@ func main() {
os.Exit(1)
}
}

func setLoggingLevel(debug bool, logLevel string) {
// the debug flag takes precedence over the loglevel flag
if debug {
log.SetLevel(log.DebugLevel)
} else {
level, err := log.ParseLevel(logLevel)
if err != nil {
setupLog.Error(err, "unable to parse loglevel", "loglevel", logLevel)
os.Exit(1)
}
log.SetLevel(level)
}
}
6 changes: 3 additions & 3 deletions pkg/controllers/applicationset_controller.go
Expand Up @@ -188,9 +188,9 @@ func (r *ApplicationSetReconciler) getMinRequeueAfter(applicationSetInfo *argopr
var res time.Duration
for _, requestedGenerator := range applicationSetInfo.Spec.Generators {

generators := generators.GetRelevantGenerators(&requestedGenerator, r.Generators)
relevantGenerators := generators.GetRelevantGenerators(&requestedGenerator, r.Generators)

for _, g := range generators {
for _, g := range relevantGenerators {
t := g.GetRequeueAfter(&requestedGenerator)

if res == 0 {
Expand Down Expand Up @@ -445,7 +445,7 @@ func (r *ApplicationSetReconciler) removeFinalizerOnInvalidDestination(ctx conte
if err := utils.ValidateDestination(ctx, &app.Spec.Destination, r.KubeClientset, applicationSet.Namespace); err != nil {

// Filter out the Argo CD finalizer from the finalizer list
newFinalizers := []string{}
var newFinalizers []string
for _, existingFinalizer := range app.Finalizers {
if existingFinalizer != common.ResourcesFinalizerName { // only remove this one
newFinalizers = append(newFinalizers, existingFinalizer)
Expand Down

0 comments on commit d01eaf8

Please sign in to comment.