hugolib, helpers: Reduce log level to WARN on .Render for non-regular pages

We will eventually support all types in the Render method.
This commit is contained in:
Bjørn Erik Pedersen 2017-03-29 08:08:45 +02:00
parent 5989c4d464
commit 87b3cd4655
2 changed files with 12 additions and 4 deletions

View file

@ -250,6 +250,11 @@ func NewDistinctErrorLogger() *DistinctLogger {
return &DistinctLogger{m: make(map[string]bool), logger: jww.ERROR} 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 // NewDistinctFeedbackLogger creates a new DistinctLogger that can be used
// to give feedback to the user while not spamming with duplicates. // to give feedback to the user while not spamming with duplicates.
func NewDistinctFeedbackLogger() *DistinctLogger { func NewDistinctFeedbackLogger() *DistinctLogger {
@ -260,13 +265,16 @@ var (
// DistinctErrorLog can be used to avoid spamming the logs with errors. // DistinctErrorLog can be used to avoid spamming the logs with errors.
DistinctErrorLog = NewDistinctErrorLogger() 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 can be used to avoid spamming the logs with info messages.
DistinctFeedbackLog = NewDistinctFeedbackLogger() DistinctFeedbackLog = NewDistinctFeedbackLogger()
) )
// InitLoggers sets up the global distinct loggers. // InitLoggers sets up the global distinct loggers.
func InitLoggers() { func InitLoggers() {
DistinctErrorLog = NewDistinctErrorLogger() jww.ResetLogCounters()
} }
// Deprecated informs about a deprecation, but only once for a given set of arguments' values. // Deprecated informs about a deprecation, but only once for a given set of arguments' values.

View file

@ -104,7 +104,7 @@ func (p *PageOutput) layouts(layouts ...string) ([]string, error) {
func (p *PageOutput) Render(layout ...string) template.HTML { func (p *PageOutput) Render(layout ...string) template.HTML {
if !p.checkRender() { if !p.checkRender() {
return template.HTML("") return ""
} }
l, err := p.layouts(layout...) 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 { func (p *Page) Render(layout ...string) template.HTML {
if !p.checkRender() { if !p.checkRender() {
return template.HTML("") return ""
} }
p.pageOutputInit.Do(func() { p.pageOutputInit.Do(func() {
@ -142,7 +142,7 @@ func (p *Page) Render(layout ...string) template.HTML {
// for list pages. // for list pages.
func (p *Page) checkRender() bool { func (p *Page) checkRender() bool {
if p.Kind != KindPage { 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 false
} }
return true return true