@@ -54,7 +54,7 @@ func main() {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		cli.StringFlag{
 | 
							cli.StringFlag{
 | 
				
			||||||
			Name:  "log-level,l",
 | 
								Name:  "log-level,l",
 | 
				
			||||||
			Usage: "set the logging level [debug, info, warn, error, fatal, panic]",
 | 
								Usage: "set the logging level [trace, debug, info, warn, error, fatal, panic]",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		cli.StringFlag{
 | 
							cli.StringFlag{
 | 
				
			||||||
			Name:  "address,a",
 | 
								Name:  "address,a",
 | 
				
			||||||
@@ -192,7 +192,7 @@ func setLevel(context *cli.Context, config *server.Config) error {
 | 
				
			|||||||
		l = config.Debug.Level
 | 
							l = config.Debug.Level
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if l != "" {
 | 
						if l != "" {
 | 
				
			||||||
		lvl, err := logrus.ParseLevel(l)
 | 
							lvl, err := log.ParseLevel(l)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,19 @@ type (
 | 
				
			|||||||
	loggerKey struct{}
 | 
						loggerKey struct{}
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TraceLevel is the log level for tracing. Trace level is lower than debug level,
 | 
				
			||||||
 | 
					// and is usually used to trace detailed behavior of the program.
 | 
				
			||||||
 | 
					const TraceLevel = logrus.Level(uint32(logrus.DebugLevel + 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ParseLevel takes a string level and returns the Logrus log level constant.
 | 
				
			||||||
 | 
					// It supports trace level.
 | 
				
			||||||
 | 
					func ParseLevel(lvl string) (logrus.Level, error) {
 | 
				
			||||||
 | 
						if lvl == "trace" {
 | 
				
			||||||
 | 
							return TraceLevel, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return logrus.ParseLevel(lvl)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithLogger returns a new context with the provided logger. Use in
 | 
					// WithLogger returns a new context with the provided logger. Use in
 | 
				
			||||||
// combination with logger.WithField(s) for great effect.
 | 
					// combination with logger.WithField(s) for great effect.
 | 
				
			||||||
func WithLogger(ctx context.Context, logger *logrus.Entry) context.Context {
 | 
					func WithLogger(ctx context.Context, logger *logrus.Entry) context.Context {
 | 
				
			||||||
@@ -38,3 +51,17 @@ func GetLogger(ctx context.Context) *logrus.Entry {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return logger.(*logrus.Entry)
 | 
						return logger.(*logrus.Entry)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Trace logs a message at level Trace with the log entry passed-in.
 | 
				
			||||||
 | 
					func Trace(e *logrus.Entry, args ...interface{}) {
 | 
				
			||||||
 | 
						if e.Level >= TraceLevel {
 | 
				
			||||||
 | 
							e.Debug(args...)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tracef logs a message at level Trace with the log entry passed-in.
 | 
				
			||||||
 | 
					func Tracef(e *logrus.Entry, format string, args ...interface{}) {
 | 
				
			||||||
 | 
						if e.Level >= TraceLevel {
 | 
				
			||||||
 | 
							e.Debugf(format, args...)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user