Skip to content

Commit

Permalink
Missing Go.mod things and also added zerotime log output (shows elaps…
Browse files Browse the repository at this point in the history
…ed time from start rather than current time)
  • Loading branch information
lkarlslund committed Oct 30, 2022
1 parent 64731ac commit 31cf73e
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 4 deletions.
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ require (
github.com/gravwell/buffer v0.0.0-20220728204757-23339f4bab66 // indirect
github.com/gravwell/ipfix v1.4.5 // indirect
github.com/h2non/filetype v1.1.3 // indirect
github.com/jfcg/sixb v1.3.5 // indirect
github.com/jfcg/sorty/v2 v2.0.8 // indirect
github.com/k-sone/ipmigo v0.0.0-20190922011749-b22c7a70e949 // indirect
github.com/miekg/dns v1.1.50 // indirect
github.com/open-networks/go-msgraph v0.3.1 // indirect
Expand Down
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,10 @@ github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf h1:FtEj8sfIcaaB
github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf/go.mod h1:yrqSXGoD/4EKfF26AOGzscPOgTTJcyAwM2rpixWT+t4=
github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
github.com/jfcg/sixb v1.3.5 h1:K9b9cjTlPBH47+1xiyUftR2Edk7/qkoQv5m+MfJXbko=
github.com/jfcg/sixb v1.3.5/go.mod h1:UWrAr1q9s7pSPPqZNccmQM4N75p8GvuBYdFuq+09Qns=
github.com/jfcg/sorty/v2 v2.0.8 h1:x8vUzFP7KADIrEsGdrn3vHynpr72zmOVwUezoZnMG4w=
github.com/jfcg/sorty/v2 v2.0.8/go.mod h1:KIEfHyaX4UWOg0mTYJEtpfVaXssBgjH7UXcWcJeLcJ8=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
Expand Down
3 changes: 3 additions & 0 deletions modules/cli/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ var (
loglevel = Root.PersistentFlags().String("loglevel", "info", "Console log level")
logfile = Root.PersistentFlags().String("logfile", "", "File to log to")
logfilelevel = Root.PersistentFlags().String("logfilelevel", "info", "Log file log level")
logzerotime = Root.PersistentFlags().Bool("logzerotime", false, "Logged timestamps start from zero when program launches")

embeddedprofiler = Root.PersistentFlags().Bool("embeddedprofiler", false, "Start embedded Go profiler on localhost:6060")
cpuprofile = Root.PersistentFlags().Bool("cpuprofile", false, "Save CPU profile from start to end of processing in datapath")
Expand Down Expand Up @@ -61,6 +62,8 @@ func Run() error {
Root.SetArgs(args)
Root.ParseFlags(args)

ui.Zerotime = *logzerotime

ll, err := ui.LogLevelString(*loglevel)
if err != nil {
ui.Error().Msgf("Invalid log level: %v - use one of: %v", *loglevel, ui.LogLevelStrings())
Expand Down
22 changes: 18 additions & 4 deletions modules/ui/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,13 @@ const (
LevelPanic
)

var defaultLogLevel = LevelInfo
var clearneeded bool
var (
defaultLogLevel = LevelInfo
clearneeded bool

Zerotime bool
starttime = time.Now()
)

func SetDefaultLoglevel(i LogLevel) {
defaultLogLevel = i
Expand Down Expand Up @@ -65,8 +70,17 @@ type Logger struct {

func (t Logger) Msgf(format string, args ...interface{}) Logger {
outputMutex.Lock()

var timetext string
if Zerotime {
elapsed := time.Since(starttime)
timetext = fmt.Sprintf("%02.0f:%02.0f:%02.0f.%03d", elapsed.Hours(), elapsed.Minutes(), elapsed.Seconds(), elapsed.Milliseconds()%1000)
} else {
timetext = time.Now().Format("15:04:05.000")
}

if logfile != nil && logfilelevel <= t.ll {
fmt.Fprintf(logfile, time.Now().Format("15:04:05.000")+" "+t.ll.String()+" "+format+"\n", args...)
fmt.Fprintf(logfile, timetext+" "+t.ll.String()+" "+format+"\n", args...)
}
if defaultLogLevel <= t.ll {
if clearneeded {
Expand All @@ -75,7 +89,7 @@ func (t Logger) Msgf(format string, args ...interface{}) Logger {
clearneeded = false
}

tprefix := pterm.DefaultBasicText.Sprint(time.Now().Format("15:04:05.000 "))
tprefix := pterm.DefaultBasicText.Sprint(timetext + " ")
pterm.Fprint(t.pterm.Writer, tprefix+t.pterm.Sprintfln(format, args...))
}
if t.ll == LevelFatal {
Expand Down

0 comments on commit 31cf73e

Please sign in to comment.