From: bep Date: Thu, 12 Mar 2015 15:10:14 +0000 (+0100) Subject: Add deprecated logger X-Git-Tag: v0.14~201 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6e30c10d09ec60e8df3b4c17e6ab7a5896245928;p=brevno-suite%2Fhugo Add deprecated logger --- diff --git a/helpers/general.go b/helpers/general.go index 891e5b80..4219186a 100644 --- a/helpers/general.go +++ b/helpers/general.go @@ -20,12 +20,14 @@ import ( "errors" "fmt" bp "github.com/spf13/hugo/bufferpool" + jww "github.com/spf13/jwalterweatherman" "github.com/spf13/viper" "io" "net" "path/filepath" "reflect" "strings" + "sync" ) // Filepath separator defined by os.Separator. @@ -106,6 +108,25 @@ func ThemeSet() bool { return viper.GetString("theme") != "" } +// Avoid spamming the logs with errors +var deprecatedLogs = struct { + sync.RWMutex + m map[string]bool +}{m: make(map[string]bool)} + +func Deprecated(object, item, alternative string) { + deprecatedLogs.RLock() + logged := deprecatedLogs.m[object+item+alternative] + deprecatedLogs.RUnlock() + if logged { + return + } + deprecatedLogs.Lock() + jww.ERROR.Printf("%s's %s is deprecated and will be removed in Hugo 0.15. Use %s instead.", object, item, alternative) + deprecatedLogs.m[object+item+alternative] = true + deprecatedLogs.Unlock() +} + // SliceToLower goes through the source slice and lowers all values. func SliceToLower(s []string) []string { if s == nil {