Documentation ¶
Index ¶
- func Caller(skip int) (name, file string, line int)
- func CallerName() string
- func Config(cfg Cfg)
- func DEBUG(args ...interface{})
- func DEBUGSkip(skip int, args ...interface{})
- func DUMP(args ...interface{})
- func DUMPSkip(skip int, args ...interface{})
- func JSON(v interface{}) string
- func Logfmt(v interface{}) string
- func PRETTY(args ...interface{})
- func PRETTYSkip(skip int, args ...interface{})
- func Pretty(v interface{}) string
- func Pretty2(v interface{}) string
- func SPEW(args ...interface{})
- func SPEWSkip(skip int, args ...interface{})
- type Cfg
- type DebugLogger
- type PrintFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Caller ¶
Caller returns function name, filename, and the line number of the caller. The argument skip is the number of stack frames to ascend, with 0 identifying the caller of Caller.
func CallerName ¶
func CallerName() string
CallerName returns the function name of the direct caller. This is a convenient wrapper around Caller.
func DEBUG ¶
func DEBUG(args ...interface{})
DEBUG is debug message logger which do nothing if debug level is not enabled (the default). It gives best performance for production deployment by eliminating unnecessary parameter evaluation and control flows.
DEBUG accepts very flexible arguments to help development, see the following examples:
// func() DEBUG(func() { logrus.Debug(something) for _, item := range someSlice { logrus.Debug(item) } }) // logger from context with or without format DEBUG(ctx, 1, 2, 3) DEBUG(ctx, "a=%v b=%v c=%v", 1, 2, 3) // log variables with or without format DEBUG(1, 2, 3) DEBUG("a=%v b=%v c=%v", 1, 2, 3) // optionally a DebugLogger can be provided as the first parameter logger := logrus.WithField("key", "dummy") DEBUG(logger, "aa", 2, 3) DEBUG(logger, "a=%v b=%v c=%v", "aa", 2, 3) // or a function which returns a logger implements DebugLogger logger := func() *logrus.Entry { ... } DEBUG(logger, "aa", 2, 3) DEBUG(logger, "a=%v b=%v c=%v", "aa", 2, 3) // or a print function to print the log message logger := logrus.Debugf DEBUG(logger, "aa", 2, 3) DEBUG(logger, "a=%v b=%v c=%v", "aa", 2, 3) // non-basic-type values will be formatted using json obj := &SomeStructType{Field1: "blah", Field2: 1234567, Field3: true} DEBUG(logger, "obj=%v", obj)
func DEBUGSkip ¶
func DEBUGSkip(skip int, args ...interface{})
DEBUGSkip is similar to DEBUG, but it has an extra skip param to skip stacktrace to get correct caller information. When you wrap functions in this package, you always want to use the functions which end with "Skip".
func DUMP ¶
func DUMP(args ...interface{})
DUMP is similar to DEBUG, but it calls spew.Sdump to format non-basic-type data.
func DUMPSkip ¶
func DUMPSkip(skip int, args ...interface{})
DUMPSkip is similar to DUMP, but it has an extra skip param to skip stacktrace to get correct caller information. When you wrap functions in this package, you always want to use the functions which end with "Skip".
func Logfmt ¶
func Logfmt(v interface{}) string
Logfmt converts given object to a string in logfmt format, it never returns error. Note that only struct and map of basic types are supported, non-basic types are simply ignored.
func PRETTY ¶ added in v0.2.0
func PRETTY(args ...interface{})
PRETTY is similar to DEBUG, but it calls Pretty to format non-basic-type data.
func PRETTYSkip ¶ added in v0.2.0
func PRETTYSkip(skip int, args ...interface{})
PRETTYSkip is similar to PRETTY, but it has an extra skip param to skip stacktrace to get correct caller information. When you wrap functions in this package, you always want to use the functions which end with "Skip".
func Pretty ¶ added in v0.2.0
func Pretty(v interface{}) string
Pretty converts given object to a pretty formatted json string. If the input is a json string, it will be formatted using json.Indent with four space characters as indent.
func Pretty2 ¶ added in v0.2.0
func Pretty2(v interface{}) string
Pretty2 is like Pretty, but it uses two space characters as indent, instead of four.
Types ¶
type DebugLogger ¶
type DebugLogger interface {
Debugf(format string, args ...interface{})
}
DebugLogger is an interface which log an message at DEBUG level. It's implemented by *logrus.Logger, *logrus.Entry, *zap.SugaredLogger, and many other logging packages.