mirror of
https://github.com/gilbertchen/duplicacy
synced 2025-12-10 13:23:17 +00:00
Implemented a global option to suppress logs by ids
You can now use -suppress LOGID or -s LOGID to not print logs with the given ids. This is a global option which means it is applicable to all commands. It can be specified more than once.
This commit is contained in:
@@ -159,6 +159,10 @@ func setGlobalOptions(context *cli.Context) {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, logID := range context.GlobalStringSlice("suppress") {
|
||||||
|
duplicacy.SuppressLog(logID)
|
||||||
|
}
|
||||||
|
|
||||||
duplicacy.RunInBackground = context.GlobalBool("background")
|
duplicacy.RunInBackground = context.GlobalBool("background")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2069,6 +2073,11 @@ func main() {
|
|||||||
Name: "comment",
|
Name: "comment",
|
||||||
Usage: "add a comment to identify the process",
|
Usage: "add a comment to identify the process",
|
||||||
},
|
},
|
||||||
|
cli.StringSliceFlag{
|
||||||
|
Name: "suppress, s",
|
||||||
|
Usage: "suppress logs with the specified id",
|
||||||
|
Argument: "<id>",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
app.HideVersion = true
|
app.HideVersion = true
|
||||||
|
|||||||
@@ -45,6 +45,13 @@ func setTestingT(t *testing.T) {
|
|||||||
testingT = t
|
testingT = t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Contains the ids of logs that won't be displayed
|
||||||
|
var suppressedLogs map[string]bool = map[string]bool{}
|
||||||
|
|
||||||
|
func SuppressLog(id string) {
|
||||||
|
suppressedLogs[id] = true
|
||||||
|
}
|
||||||
|
|
||||||
func getLevelName(level int) string {
|
func getLevelName(level int) string {
|
||||||
switch level {
|
switch level {
|
||||||
case DEBUG:
|
case DEBUG:
|
||||||
@@ -145,6 +152,12 @@ func logf(level int, logID string, format string, v ...interface{}) {
|
|||||||
defer logMutex.Unlock()
|
defer logMutex.Unlock()
|
||||||
|
|
||||||
if level >= loggingLevel {
|
if level >= loggingLevel {
|
||||||
|
if level <= ERROR && len(suppressedLogs) > 0 {
|
||||||
|
if _, found := suppressedLogs[logID]; found {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if printLogHeader {
|
if printLogHeader {
|
||||||
fmt.Printf("%s %s %s %s\n",
|
fmt.Printf("%s %s %s %s\n",
|
||||||
now.Format("2006-01-02 15:04:05.000"), getLevelName(level), logID, message)
|
now.Format("2006-01-02 15:04:05.000"), getLevelName(level), logID, message)
|
||||||
|
|||||||
Reference in New Issue
Block a user