| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- package nebula
 
- import (
 
- 	"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
 
- }
 
 
  |