summaryrefslogtreecommitdiff
path: root/logging.go
diff options
context:
space:
mode:
authorSarat Chandra <me@saratchandra.in>2019-11-11 23:34:41 +0530
committerMatt Holt <mholt@users.noreply.github.com>2019-11-11 11:04:41 -0700
commitdfdddcfacba806bdce144aaba51568b41c7a480b (patch)
tree02cd32bb8a5121cea3b2078e7d394cd03849321e /logging.go
parent7ff02f37b6cbdf8e73a47d94604672ca2f1f1aa7 (diff)
logging: Support placeholders in level and filename (#2872)
* Add support for placeholders in Config Fixes #2870 * Replace placeholders only in logging config. Placeholders in log level and filename incase of file output are replaced. * Add Provision to filewriter module for replacing placeholders
Diffstat (limited to 'logging.go')
-rw-r--r--logging.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/logging.go b/logging.go
index e809617..97c0513 100644
--- a/logging.go
+++ b/logging.go
@@ -280,8 +280,15 @@ type CustomLog struct {
}
func (cl *CustomLog) provision(ctx Context, logging *Logging) error {
+ // Replace placeholder for log level
+ repl := NewReplacer()
+ level, err := repl.ReplaceOrErr(cl.Level, true, true)
+ if err != nil {
+ return fmt.Errorf("invalid log level: %v", err)
+ }
+
// set up the log level
- switch cl.Level {
+ switch level {
case "debug":
cl.levelEnabler = zapcore.DebugLevel
case "", "info":
@@ -351,7 +358,7 @@ func (cl *CustomLog) provision(ctx Context, logging *Logging) error {
if cl.writerOpener == nil {
cl.writerOpener = StderrWriter{}
}
- var err error
+
cl.writer, _, err = logging.openWriter(cl.writerOpener)
if err != nil {
return fmt.Errorf("opening log writer using %#v: %v", cl.writerOpener, err)