| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package nebulaimport (	"fmt"	"strings"	"time"	"github.com/sirupsen/logrus"	"github.com/slackhq/nebula/config")func configLogger(l *logrus.Logger, c *config.C) error {	// set up our logging level	logLevel, err := logrus.ParseLevel(strings.ToLower(c.GetString("logging.level", "info")))	if err != nil {		return fmt.Errorf("%s; possible levels: %s", err, logrus.AllLevels)	}	l.SetLevel(logLevel)	disableTimestamp := c.GetBool("logging.disable_timestamp", false)	timestampFormat := c.GetString("logging.timestamp_format", "")	fullTimestamp := (timestampFormat != "")	if timestampFormat == "" {		timestampFormat = time.RFC3339	}	logFormat := strings.ToLower(c.GetString("logging.format", "text"))	switch logFormat {	case "text":		l.Formatter = &logrus.TextFormatter{			TimestampFormat:  timestampFormat,			FullTimestamp:    fullTimestamp,			DisableTimestamp: disableTimestamp,		}	case "json":		l.Formatter = &logrus.JSONFormatter{			TimestampFormat:  timestampFormat,			DisableTimestamp: disableTimestamp,		}	default:		return fmt.Errorf("unknown log format `%s`. possible formats: %s", logFormat, []string{"text", "json"})	}	return nil}
 |