]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix deprecation printing on info level
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 31 Oct 2023 08:25:28 +0000 (09:25 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 31 Oct 2023 09:42:23 +0000 (10:42 +0100)
Fixes #11638

common/loggers/loggerglobal.go
config/allconfig/load.go
hugolib/hugo_sites_build.go
testscripts/commands/deprecate.txt [new file with mode: 0644]
tpl/debug/debug.go

index 92b2469ba9ab13a144840c8a70fd3fe06032b422..8b8e8cfc28295e6896fd72e07342c09966f721b9 100644 (file)
@@ -21,7 +21,7 @@ import (
        "github.com/bep/logg"
 )
 
-func InitGlobalLogger(panicOnWarnings bool) {
+func InitGlobalLogger(level logg.Level, panicOnWarnings bool) {
        logMu.Lock()
        defer logMu.Unlock()
        var logHookLast func(e *logg.Entry) error
@@ -31,6 +31,7 @@ func InitGlobalLogger(panicOnWarnings bool) {
 
        log = New(
                Options{
+                       Level:       level,
                        Distinct:    true,
                        HandlerPost: logHookLast,
                },
@@ -49,5 +50,5 @@ func Log() Logger {
 var log Logger
 
 func init() {
-       InitGlobalLogger(false)
+       InitGlobalLogger(logg.LevelWarn, false)
 }
index 3af6147da6ad068c7af6d9a1e708c36698fec153..e7dae18066e3ec0487cd4d7ad2193d321ec98f4c 100644 (file)
@@ -93,10 +93,10 @@ func LoadConfig(d ConfigSourceDescriptor) (*Configs, error) {
 
        // This is unfortunate, but these are global settings.
        tpl.SetSecurityAllowActionJSTmpl(configs.Base.Security.GoTemplates.AllowActionJSTmpl)
-       loggers.InitGlobalLogger(configs.Base.PanicOnWarning)
 
-       return configs, nil
+       loggers.InitGlobalLogger(d.Logger.Level(), configs.Base.PanicOnWarning)
 
+       return configs, nil
 }
 
 // ConfigSourceDescriptor describes where to find the config (e.g. config.toml etc.).
@@ -330,7 +330,6 @@ func (l *configLoader) envStringToVal(k, v string) any {
        default:
                return v
        }
-
 }
 
 func (l *configLoader) loadConfigMain(d ConfigSourceDescriptor) (config.LoadConfigResult, modules.ModulesConfig, error) {
index 72b5fe7718c6879577bc71c5746ee3e2e8073a39..a2b87b5e7620b614783f5c5fb46604dd425ef2e6 100644 (file)
@@ -30,6 +30,7 @@ import (
 
        "github.com/gohugoio/hugo/hugofs"
 
+       "github.com/gohugoio/hugo/common/loggers"
        "github.com/gohugoio/hugo/common/para"
        "github.com/gohugoio/hugo/config"
        "github.com/gohugoio/hugo/resources/postpub"
@@ -172,7 +173,7 @@ func (h *HugoSites) Build(config BuildCfg, events ...fsnotify.Event) error {
                return err
        }
 
-       errorCount := h.Log.LoggCount(logg.LevelError)
+       errorCount := h.Log.LoggCount(logg.LevelError) + loggers.Log().LoggCount(logg.LevelError)
        if errorCount > 0 {
                return fmt.Errorf("logged %d error(s)", errorCount)
        }
diff --git a/testscripts/commands/deprecate.txt b/testscripts/commands/deprecate.txt
new file mode 100644 (file)
index 0000000..b15d7ec
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+hugo -e info  --logLevel info
+stdout 'INFO  item was deprecated in Hugo'
+
+hugo -e warn  --logLevel warn
+stdout 'WARN  item was deprecated in Hugo'
+
+! hugo -e error  --logLevel warn
+stdout 'ERROR item was deprecated in Hugo'
+
+-- hugo.toml --
+baseURL = "https://example.com/"
+disableKinds = ["taxonomy", "term"]
+-- layouts/index.html --
+Deprecate:
+{{ if eq hugo.Environment "info" }}
+    {{ debug.TestDeprecationInfo "item" "alternative" }}
+{{ end }}
+{{ if eq hugo.Environment "warn" }}
+    {{ debug.TestDeprecationWarn "item" "alternative" }}
+{{ end }}
+{{ if eq hugo.Environment "error" }}
+    {{ debug.TestDeprecationErr "item" "alternative" }}
+{{ end }}
\ No newline at end of file
index dd0593e2721108f3d6dee690857eecebe113903c..f603dd94d9018e7e4c786def1e8a71a6bd8acc43 100644 (file)
@@ -24,6 +24,7 @@ import (
        "github.com/spf13/cast"
        "github.com/yuin/goldmark/util"
 
+       "github.com/gohugoio/hugo/common/hugo"
        "github.com/gohugoio/hugo/deps"
 )
 
@@ -156,3 +157,26 @@ func (t *timer) Stop() string {
        // This is used in templates, we need to return something.
        return ""
 }
+
+// Internal template func, used in tests only.
+func (ns *Namespace) TestDeprecationInfo(item, alternative string) string {
+       v := hugo.CurrentVersion
+       hugo.Deprecate(item, alternative, v.String())
+       return ""
+}
+
+// Internal template func, used in tests only.
+func (ns *Namespace) TestDeprecationWarn(item, alternative string) string {
+       v := hugo.CurrentVersion
+       v.Minor -= 6
+       hugo.Deprecate(item, alternative, v.String())
+       return ""
+}
+
+// Internal template func, used in tests only.
+func (ns *Namespace) TestDeprecationErr(item, alternative string) string {
+       v := hugo.CurrentVersion
+       v.Minor -= 12
+       hugo.Deprecate(item, alternative, v.String())
+       return ""
+}