diff options
Diffstat (limited to 'tpl/fmt')
-rw-r--r-- | tpl/fmt/fmt.go | 13 | ||||
-rw-r--r-- | tpl/fmt/init.go | 6 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tpl/fmt/fmt.go b/tpl/fmt/fmt.go index 8b24648cb..7e0258650 100644 --- a/tpl/fmt/fmt.go +++ b/tpl/fmt/fmt.go @@ -23,12 +23,16 @@ import ( // New returns a new instance of the fmt-namespaced template functions. func New(d *deps.Deps) *Namespace { - return &Namespace{helpers.NewDistinctLogger(d.Log.ERROR)} + return &Namespace{ + errorLogger: helpers.NewDistinctLogger(d.Log.ERROR), + warnLogger: helpers.NewDistinctLogger(d.Log.WARN), + } } // Namespace provides template functions for the "fmt" namespace. type Namespace struct { errorLogger *helpers.DistinctLogger + warnLogger *helpers.DistinctLogger } // Print returns string representation of the passed arguments. @@ -53,3 +57,10 @@ func (ns *Namespace) Errorf(format string, a ...interface{}) string { ns.errorLogger.Printf(format, a...) return _fmt.Sprintf(format, a...) } + +// Warnf formats according to a format specifier and logs a WARNING. +// It returns an empty string. +func (ns *Namespace) Warnf(format string, a ...interface{}) string { + ns.warnLogger.Printf(format, a...) + return "" +} diff --git a/tpl/fmt/init.go b/tpl/fmt/init.go index 117055801..14568b45a 100644 --- a/tpl/fmt/init.go +++ b/tpl/fmt/init.go @@ -57,6 +57,12 @@ func init() { }, ) + ns.AddMethodMapping(ctx.Warnf, + []string{"warnf"}, + [][2]string{ + {`{{ warnf "%s." "warning" }}`, ``}, + }, + ) return ns } |