func WithLogger(ctx context.Context, logger *logrus.Entry) context.Context {
	return context.WithValue(ctx, loggerKey{}, logger)
}
WithLogger returns a new context with the provided logger. Use in
combination with logger.WithField(s) for great effect.
package log
import (
	"context"
	"sync/atomic"
	"github.com/sirupsen/logrus"
)
var (
	G = GetLogger
	L = logrus.NewEntry(logrus.StandardLogger())
)
type (
	loggerKey struct{}
)
const TraceLevel = logrus.Level(uint32(logrus.DebugLevel + 1))
const RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00"
func ParseLevel(lvl string) (logrus.Level, error) {
	if lvl == "trace" {
		return TraceLevel, nil
	}
	return logrus.ParseLevel(lvl)
}