Skip to content

Commit

Permalink
Merge pull request #1038 from synfinatic/fix-logging
Browse files Browse the repository at this point in the history
fix --lines CLI argument
  • Loading branch information
synfinatic authored Aug 27, 2024
2 parents 09b3c07 + c3e9267 commit 4dba62b
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 15 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require (
github.com/posener/complete v1.2.3
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
github.com/stretchr/testify v1.9.0
github.com/synfinatic/flexlog v0.0.3
github.com/synfinatic/flexlog v0.0.5
github.com/synfinatic/gotable v0.0.3
github.com/willabides/kongplete v0.2.0
golang.org/x/crypto v0.25.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,8 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/synfinatic/flexlog v0.0.3 h1:RUTlSnkzxIi1r6/X1QNbMI1D1butjF5fhMF/3HT/mkU=
github.com/synfinatic/flexlog v0.0.3/go.mod h1:73burLPh9m9iL538Gq95AqkyOQjb15FkO4UW4hf8qm0=
github.com/synfinatic/flexlog v0.0.5 h1:20NPoHt9KH1Acz4Z/em4e77takmydkQTGfdnGOlZVw0=
github.com/synfinatic/flexlog v0.0.5/go.mod h1:ukL0npznLj2SG+67DRqb+i36YAZMINKYI+985kiqxvg=
github.com/synfinatic/gotable v0.0.3 h1:KI01OLECmOv7laXVNtw6T4kEHue09z9OuQwtNB8D5Mw=
github.com/synfinatic/gotable v0.0.3/go.mod h1:kWXD1bxZY6tyu6tWK3CIbGAOrtF7teg0ZQotUMDvoMw=
github.com/veqryn/slog-json v0.3.0 h1:jI2ORtKP1uQss4zmTR2uCpIDw/XnUvVdr5+0vDNl4Gk=
Expand Down
9 changes: 5 additions & 4 deletions internal/logger/init.go → internal/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ import (

var logger flexlog.FlexLogger
var CreateLogger flexlog.NewLoggerFunc
var defaultLevel slog.Level = slog.LevelWarn

// initialize the default logger to log to stderr and log at the warn level
func init() {
w := os.Stderr
color := isatty.IsTerminal(w.Fd())
addSource := false
level := slog.LevelWarn

logger = flexlog.NewLogger(flexlog.NewConsole, w, addSource, level, color)
CreateLogger = flexlog.NewConsole
logger = flexlog.NewLogger(CreateLogger, w, false, defaultLevel, color)

slog.SetDefault(logger.GetLogger())
}
Expand All @@ -45,7 +45,8 @@ func SwitchLogger(name string) {
var ok bool
CreateLogger, ok = loggers[name]
if !ok {
logger.Fatal("Invalid logger", "name", name)
logger.Fatal("invalid logger", "name", name)
return // not reached except in tests
}

// switch the logger
Expand Down
36 changes: 36 additions & 0 deletions internal/logger/logger_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package logger

import (
"log/slog"
"os"
"testing"

"github.com/stretchr/testify/assert"
"github.com/synfinatic/flexlog"
testlogger "github.com/synfinatic/flexlog/test"
)

func TestSetLogger(t *testing.T) {
l := flexlog.NewLogger(flexlog.NewConsole, os.Stderr, false, slog.LevelWarn, false)
logger.SetLogger(l.GetLogger())
}

func TestSwitchLogger(t *testing.T) {
l := flexlog.NewLogger(flexlog.NewConsole, os.Stderr, false, slog.LevelWarn, false)
logger.SetLogger(l.GetLogger())
SwitchLogger("json")

// setup logger for tests
oldLogger := logger.Copy()
tLogger := testlogger.NewTestLogger("DEBUG")
defer tLogger.Close()
logger = tLogger

defer func() { logger = oldLogger }()

SwitchLogger("invalid")
msg := testlogger.LogMessage{}
assert.NoError(t, tLogger.GetNext(&msg))
assert.Equal(t, flexlog.LevelFatal, msg.Level)
assert.Equal(t, "invalid logger", msg.Message)
}
13 changes: 5 additions & 8 deletions internal/sso/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -305,14 +305,6 @@ func (s *Settings) Save(configFile string, overwrite bool) error {
// configure our settings using the overrides
func (s *Settings) setOverrides(override OverrideSettings) {
// Setup Logging
if override.LogLines {
s.LogLines = true
}

if s.LogLines {
log.SetReportCaller(true)
}

if override.LogLevel != "" {
s.LogLevel = override.LogLevel
}
Expand All @@ -322,6 +314,11 @@ func (s *Settings) setOverrides(override OverrideSettings) {
log.Fatal("Invalid log level", "level", s.LogLevel, "error", err.Error())
}

if override.LogLines {
s.LogLines = true
}
log.SetReportCaller(s.LogLines)

// Other overrides from CLI
if override.Browser != "" {
s.Browser = override.Browser
Expand Down

0 comments on commit 4dba62b

Please sign in to comment.