hugolib, helpers: Reduce log level to WARN on .Render for non-regular pages
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 29 Mar 2017 06:08:45 +0000 (08:08 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 29 Mar 2017 06:08:45 +0000 (08:08 +0200)
We will eventually support all types in the Render method.

helpers/general.go
hugolib/page_output.go

index f9e67e72d72913361d6054d7acc3995b03f69232..327aafdc6bfa9bc3ca9d5953bce1cbb97470decc 100644 (file)
@@ -250,6 +250,11 @@ func NewDistinctErrorLogger() *DistinctLogger {
        return &DistinctLogger{m: make(map[string]bool), logger: jww.ERROR}
 }
 
+// NewDistinctWarnLogger creates a new DistinctLogger that logs WARNs
+func NewDistinctWarnLogger() *DistinctLogger {
+       return &DistinctLogger{m: make(map[string]bool), logger: jww.WARN}
+}
+
 // NewDistinctFeedbackLogger creates a new DistinctLogger that can be used
 // to give feedback to the user while not spamming with duplicates.
 func NewDistinctFeedbackLogger() *DistinctLogger {
@@ -260,13 +265,16 @@ var (
        // DistinctErrorLog can be used to avoid spamming the logs with errors.
        DistinctErrorLog = NewDistinctErrorLogger()
 
+       // DistinctWarnLog can be used to avoid spamming the logs with warnings.
+       DistinctWarnLog = NewDistinctWarnLogger()
+
        // DistinctFeedbackLog can be used to avoid spamming the logs with info messages.
        DistinctFeedbackLog = NewDistinctFeedbackLogger()
 )
 
 // InitLoggers sets up the global distinct loggers.
 func InitLoggers() {
-       DistinctErrorLog = NewDistinctErrorLogger()
+       jww.ResetLogCounters()
 }
 
 // Deprecated informs about a deprecation, but only once for a given set of arguments' values.
index 837e415494c52293a0d29b58f37e78f92d720f6e..f47343cb56543a5c5d6aead4fdeaba0d66d4669f 100644 (file)
@@ -104,7 +104,7 @@ func (p *PageOutput) layouts(layouts ...string) ([]string, error) {
 
 func (p *PageOutput) Render(layout ...string) template.HTML {
        if !p.checkRender() {
-               return template.HTML("")
+               return ""
        }
 
        l, err := p.layouts(layout...)
@@ -117,7 +117,7 @@ func (p *PageOutput) Render(layout ...string) template.HTML {
 
 func (p *Page) Render(layout ...string) template.HTML {
        if !p.checkRender() {
-               return template.HTML("")
+               return ""
        }
 
        p.pageOutputInit.Do(func() {
@@ -142,7 +142,7 @@ func (p *Page) Render(layout ...string) template.HTML {
 // for list pages.
 func (p *Page) checkRender() bool {
        if p.Kind != KindPage {
-               helpers.DistinctErrorLog.Printf(".Render only available for regular pages, not for of kind %q. You probably meant .Site.RegularPages and not.Site.Pages.", p.Kind)
+               helpers.DistinctWarnLog.Printf(".Render only available for regular pages, not for of kind %q. You probably meant .Site.RegularPages and not.Site.Pages.", p.Kind)
                return false
        }
        return true