mirror of
https://github.com/gohugoio/hugo.git
synced 2024-07-04 16:21:57 +00:00
parent
8a58ebb311
commit
1773d71d5b
|
@ -1,7 +1,6 @@
|
||||||
---
|
---
|
||||||
title: errorf
|
title: errorf and warnf
|
||||||
linktitle: errorf
|
description: Log ERROR or WARNING from the templates.
|
||||||
description: Log ERROR and fail the build from the templates.
|
|
||||||
date: 2017-09-30
|
date: 2017-09-30
|
||||||
publishdate: 2017-09-30
|
publishdate: 2017-09-30
|
||||||
lastmod: 2017-09-30
|
lastmod: 2017-09-30
|
||||||
|
@ -18,12 +17,18 @@ deprecated: false
|
||||||
aliases: []
|
aliases: []
|
||||||
---
|
---
|
||||||
|
|
||||||
`errorf` will evaluate a format string, then output the result to the ERROR log (and only once per error message to avoid flooding the log).
|
`errorf` or `warnf` will evaluate a format string, then output the result to the ERROR or WARNING log (and only once per error message to avoid flooding the log).
|
||||||
|
|
||||||
This will also cause the build to fail (the `hugo` command will `exit -1`).
|
Any ERROR will also cause the build to fail (the `hugo` command will `exit -1`).
|
||||||
|
|
||||||
|
Note that the WARNING will only be printed to the console.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{ errorf "Failed to handle page %q" .Path }}
|
{{ errorf "Failed to handle page %q" .Path }}
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that `errorf` supports all the formatting verbs of the [fmt](https://golang.org/pkg/fmt/) package.
|
```
|
||||||
|
{{ warnf "You should update the shortcodes in %q" .Path }}
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that `errorf` and `warnf` support all the formatting verbs of the [fmt](https://golang.org/pkg/fmt/) package.
|
||||||
|
|
|
@ -3053,6 +3053,22 @@
|
||||||
"works!\n"
|
"works!\n"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"Warnf": {
|
||||||
|
"Description": "Warnf formats according to a format specifier and logs a WARNING.\nIt returns an empty string.",
|
||||||
|
"Args": [
|
||||||
|
"format",
|
||||||
|
"a"
|
||||||
|
],
|
||||||
|
"Aliases": [
|
||||||
|
"warnf"
|
||||||
|
],
|
||||||
|
"Examples": [
|
||||||
|
[
|
||||||
|
"{{ warnf \"%s.\" \"warning\" }}",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hugo": {
|
"hugo": {
|
||||||
|
|
|
@ -23,12 +23,16 @@ import (
|
||||||
|
|
||||||
// New returns a new instance of the fmt-namespaced template functions.
|
// New returns a new instance of the fmt-namespaced template functions.
|
||||||
func New(d *deps.Deps) *Namespace {
|
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.
|
// Namespace provides template functions for the "fmt" namespace.
|
||||||
type Namespace struct {
|
type Namespace struct {
|
||||||
errorLogger *helpers.DistinctLogger
|
errorLogger *helpers.DistinctLogger
|
||||||
|
warnLogger *helpers.DistinctLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print returns string representation of the passed arguments.
|
// 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...)
|
ns.errorLogger.Printf(format, a...)
|
||||||
return _fmt.Sprintf(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 ""
|
||||||
|
}
|
||||||
|
|
|
@ -57,6 +57,12 @@ func init() {
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ns.AddMethodMapping(ctx.Warnf,
|
||||||
|
[]string{"warnf"},
|
||||||
|
[][2]string{
|
||||||
|
{`{{ warnf "%s." "warning" }}`, ``},
|
||||||
|
},
|
||||||
|
)
|
||||||
return ns
|
return ns
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue