summaryrefslogtreecommitdiffstats
path: root/helpers/general.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-05-23 10:03:11 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-05-23 10:03:11 +0200
commit35ccf06daeaf86176c1341dde4207c3b11653d7a (patch)
tree1191bc00ec7452cea7b399ed9906254b2d57c729 /helpers/general.go
parent4ddcf52ccc7af3e23109ebaac1f0486087a212ba (diff)
Fix some recently broken embedded templates
And add tests for them. Fixes #4757
Diffstat (limited to 'helpers/general.go')
-rw-r--r--helpers/general.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/helpers/general.go b/helpers/general.go
index e6c0ec8e5..5b46520e5 100644
--- a/helpers/general.go
+++ b/helpers/general.go
@@ -260,7 +260,8 @@ func (p *PathSpec) ThemeSet() bool {
return p.theme != ""
}
-type logPrinter interface {
+// LogPrinter is the common interface of the JWWs loggers.
+type LogPrinter interface {
// Println is the only common method that works in all of JWWs loggers.
Println(a ...interface{})
}
@@ -268,7 +269,7 @@ type logPrinter interface {
// DistinctLogger ignores duplicate log statements.
type DistinctLogger struct {
sync.RWMutex
- logger logPrinter
+ logger LogPrinter
m map[string]bool
}
@@ -309,6 +310,11 @@ func NewDistinctErrorLogger() *DistinctLogger {
return &DistinctLogger{m: make(map[string]bool), logger: jww.ERROR}
}
+// NewDistinctLogger creates a new DistinctLogger that logs to the provided logger.
+func NewDistinctLogger(logger LogPrinter) *DistinctLogger {
+ return &DistinctLogger{m: make(map[string]bool), logger: logger}
+}
+
// NewDistinctWarnLogger creates a new DistinctLogger that logs WARNs
func NewDistinctWarnLogger() *DistinctLogger {
return &DistinctLogger{m: make(map[string]bool), logger: jww.WARN}