aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go7
-rw-r--r--pkg/log/log.go40
2 files changed, 39 insertions, 8 deletions
diff --git a/main.go b/main.go
index 415d19f..026ef0a 100644
--- a/main.go
+++ b/main.go
@@ -16,6 +16,7 @@ import (
var cfgFile = flag.String("f", "config.yml", "configuration file")
var cacheFile = flag.String("c", "feed.cache", "cache file")
var verbose = flag.Bool("v", false, "enable verbose output")
+var debug = flag.Bool("d", false, "enable debug output")
func processFeed(feed *feed.Feed, cfg *config.Config, client *imap.Client, wg *sync.WaitGroup) {
defer wg.Done()
@@ -46,7 +47,11 @@ func processFeed(feed *feed.Feed, cfg *config.Config, client *imap.Client, wg *s
func run() error {
flag.Parse()
- log.SetDebug(*verbose)
+ if *debug {
+ log.SetDebug()
+ } else if *verbose {
+ log.SetVerbose()
+ }
log.Print("Starting up...")
diff --git a/pkg/log/log.go b/pkg/log/log.go
index 0238c7e..4c69c1c 100644
--- a/pkg/log/log.go
+++ b/pkg/log/log.go
@@ -7,26 +7,52 @@ import (
)
var debugLogger = log.New(os.Stdout, "", log.LstdFlags)
+var verboseLogger = log.New(os.Stdout, "", log.LstdFlags)
var errorLogger = log.New(os.Stderr, "ERROR ", log.LstdFlags|log.Lmsgprefix)
var warnLogger = log.New(os.Stdout, "WARN ", log.LstdFlags|log.Lmsgprefix)
-var enableDebug = false
-func SetDebug(state bool) {
- enableDebug = state
+type logLevel byte
+
+const (
+ debug logLevel = iota
+ info
+ warn
+)
+
+var level logLevel = warn
+
+func SetVerbose() {
+ level = info
}
-func Print(v ...interface{}) {
- if enableDebug {
+func SetDebug() {
+ level = debug
+}
+
+func Debug(v ...interface{}) {
+ if level <= debug {
_ = debugLogger.Output(2, fmt.Sprint(v...))
}
}
-func Printf(format string, v ...interface{}) {
- if enableDebug {
+func Debugf(format string, v ...interface{}) {
+ if level <= debug {
_ = debugLogger.Output(2, fmt.Sprintf(format, v...))
}
}
+func Print(v ...interface{}) {
+ if level <= info {
+ _ = verboseLogger.Output(2, fmt.Sprint(v...))
+ }
+}
+
+func Printf(format string, v ...interface{}) {
+ if level <= info {
+ _ = verboseLogger.Output(2, fmt.Sprintf(format, v...))
+ }
+}
+
func Error(v ...interface{}) {
_ = errorLogger.Output(2, fmt.Sprint(v...))
}
itle='2020-04-20 01:01:13 +0200'>2020-04-20GlobalOptionsRené 'Necoro' Neumann3-25/+79 2020-04-19RestructureRené 'Necoro' Neumann6-152/+177 2020-04-19Rename package 'parse' to 'feed'René 'Necoro' Neumann2-3/+3 2020-04-19SELECT is not necessary for most operations -- skip itRené 'Necoro' Neumann2-12/+1 2020-04-19Store path as array -- the delimiter is not always '.'René 'Necoro' Neumann3-36/+44 2020-04-19Split client part to client.goRené 'Necoro' Neumann2-125/+137 2020-04-19IMAP: Create foldersRené 'Necoro' Neumann1-4/+38 2020-04-19Improved IMAPRené 'Necoro' Neumann1-3/+88 2020-04-19Started IMAP connectionRené 'Necoro' Neumann4-0/+152 2020-04-19Use our own logger for debug for convenience sakeRené 'Necoro' Neumann1-2/+3 2020-04-19Fix debug logging m(René 'Necoro' Neumann1-2/+2 2020-04-19Rename util.go to log.go. Add verbose modeRené 'Necoro' Neumann4-24/+54 2020-04-19Clean go.modRené 'Necoro' Neumann2-3/+0 2020-04-19Do not print the parsedCfg anymoreRené 'Necoro' Neumann1-1/+1 2020-04-19Increase go-version to 1.14René 'Necoro' Neumann1-2/+2 2020-04-19CI: go vetRené 'Necoro' Neumann1-0/+3 2020-04-19Fetching and parsing the feedsRené 'Necoro' Neumann5-4/+113 2020-04-19Ignore all config*.ymlRené 'Necoro' Neumann1-1/+1