drone-plugin-lib/pkg/urfave/logging.go

36 lines
801 B
Go
Raw Normal View History

2019-10-11 18:34:47 +00:00
// Copyright (c) 2019, the Drone Plugins project authors.
// Please see the AUTHORS file for details. All rights reserved.
// Use of this source code is governed by an Apache 2.0 license that can be
// found in the LICENSE file.
package urfave
import (
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
)
const logLevelFlag = "log-level"
func loggingFlags() []cli.Flag {
return []cli.Flag{
cli.StringFlag{
2019-10-29 22:16:36 +00:00
Name: logLevelFlag,
Usage: "logging-level",
EnvVar: "PLUGIN_LOG_LEVEL",
2019-10-11 18:34:47 +00:00
},
}
}
// LoggingFromContext sets the logrus logging level.
func LoggingFromContext(ctx *cli.Context) {
lvl, err := logrus.ParseLevel(ctx.String(logLevelFlag))
if err != nil {
lvl = logrus.InfoLevel
}
logrus.SetLevel(lvl)
logrus.WithField("level", lvl.String()).Info("setup logging")
}