Add deprecated logger

This commit is contained in:
bep 2015-03-12 16:10:14 +01:00
parent f848dc92db
commit 6e30c10d09

View file

@ -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 {