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}
}
// 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.

View 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