ref: 6e30c10d09ec60e8df3b4c17e6ab7a5896245928
parent: f848dc92dbf65321ee3eff7ebbb9253e1cb3a512
author: bep <[email protected]>
date: Thu Mar 12 12:10:14 EDT 2015
Add deprecated logger
--- a/helpers/general.go
+++ b/helpers/general.go
@@ -20,6 +20,7 @@
"errors"
"fmt"
bp "github.com/spf13/hugo/bufferpool"
+ jww "github.com/spf13/jwalterweatherman"
"github.com/spf13/viper"
"io"
"net"
@@ -26,6 +27,7 @@
"path/filepath"
"reflect"
"strings"
+ "sync"
)
// Filepath separator defined by os.Separator.
@@ -104,6 +106,25 @@
// ThemeSet checks whether a theme is in use or not.
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.