Skip to content

Commit

Permalink
Updated the log logic (#125)
Browse files Browse the repository at this point in the history
* Updated the log logic
This PR replaces the tap.debug flag with a more generic logLevel flag.
The logLevel flag can be set to any  one of: debug, info, warning, error, fatal, panic.
The default logLevel is warning
The new logic set the global log level based on the new helm value.


---------

Co-authored-by: Ilya Gavrilov <[email protected]>
  • Loading branch information
alongir and iluxa authored Dec 17, 2024
1 parent 05a7e93 commit 9cc6305
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ var port = flag.Int("port", 80, "Port number of the HTTP server")
// capture
var procfs = flag.String("procfs", "/proc", "The procfs directory, used when mapping host volumes into a container")

// development
var debug = flag.Bool("debug", false, "Enable debug mode")
var logLevel = flag.String("loglevel", "warning", "The minimum log level to output. Possible values: debug, info, warning")

var initBPF = flag.Bool("init-bpf", false, "Use to initialize bpf filesystem. Common usage is from init containers.")

Expand All @@ -49,6 +48,23 @@ var disableTlsLog = flag.Bool("disable-tls-log", false, "Disable tls logging")
var tracer *Tracer

func main() {
()

Check failure on line 51 in main.go

View workflow job for this annotation

GitHub Actions / Golint

syntax error: unexpected ), expected expression (typecheck)

Check failure on line 51 in main.go

View workflow job for this annotation

GitHub Actions / Golint

expected operand, found ')' (typecheck)

// Set log level
var level zerolog.Level

Check failure on line 54 in main.go

View workflow job for this annotation

GitHub Actions / Golint

expected ')', found 'var' (typecheck)
switch strings.ToLower(*logLevel) {
case "debug":
level = zerolog.DebugLevel
case "info":
level = zerolog.InfoLevel
case "warning":
level = zerolog.WarnLevel
default:
level = zerolog.WarnLevel
log.Warn().Msgf("Invalid log level '%s'. Defaulting to 'warning'.", *logLevel)
}
zerolog.SetGlobalLevel(level)

var sentryDSN string
if sentrypkg.IsSentryEnabled() {
sentryDSN, err := sentrypkg.GetDSN(context.Background(), "tracer", version.Ver)
Expand All @@ -72,8 +88,6 @@ func main() {
defer sentry.Flush(2 * time.Second)
}
}

zerolog.SetGlobalLevel(zerolog.InfoLevel)
w, err := zlogsentry.New(
sentryDSN,
)
Expand All @@ -86,13 +100,8 @@ func main() {
multi := zerolog.MultiLevelWriter(w, zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339})
log.Logger = zerolog.New(multi).With().Timestamp().Caller().Logger()

flag.Parse()
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339}).With().Caller().Logger()

if *debug {
zerolog.SetGlobalLevel(zerolog.DebugLevel)
}

runtimeDebug.SetPanicOnFault(true)
defer func() {
if err := recover(); err != nil {
Expand Down

0 comments on commit 9cc6305

Please sign in to comment.