restore v0.3.0
This commit is contained in:
@@ -3,15 +3,23 @@ package log_test
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
std "log"
|
||||
"os"
|
||||
"sync/atomic"
|
||||
|
||||
"gitoa.ru/go-4devs/log"
|
||||
"gitoa.ru/go-4devs/log/entry"
|
||||
"gitoa.ru/go-4devs/log/field"
|
||||
"gitoa.ru/go-4devs/log/level"
|
||||
)
|
||||
|
||||
//nolint:gochecknoglobals
|
||||
var ctx = context.Background()
|
||||
|
||||
func setStdout() {
|
||||
// set stout for example by default stderror
|
||||
log.SetLogger(log.New(log.WithStdout()).With(log.WithLevel("level", level.Debug)))
|
||||
}
|
||||
|
||||
func ExampleNew() {
|
||||
logger := log.New(log.WithStdout())
|
||||
logger.Info(ctx, "same message")
|
||||
@@ -19,16 +27,14 @@ func ExampleNew() {
|
||||
}
|
||||
|
||||
func ExampleInfo() {
|
||||
std.SetOutput(os.Stdout)
|
||||
std.SetFlags(0)
|
||||
setStdout()
|
||||
log.Info(ctx, "same message")
|
||||
// Output: msg="same message" level=info
|
||||
}
|
||||
|
||||
func ExampleErrKV() {
|
||||
std.SetOutput(os.Stdout)
|
||||
std.SetFlags(0)
|
||||
log.ErrKV(ctx, "same message", "key", "addition value")
|
||||
setStdout()
|
||||
log.ErrKVs(ctx, "same message", "key", "addition value")
|
||||
// Output: msg="same message" key=addition value level=error
|
||||
}
|
||||
|
||||
@@ -39,13 +45,13 @@ func ExampleNew_errf() {
|
||||
}
|
||||
|
||||
func ExampleNew_debugKV() {
|
||||
logger := log.New(log.WithStdout()).With(log.WithLevel(log.LevelDebug))
|
||||
logger.DebugKV(ctx, "same message", "error", os.ErrNotExist)
|
||||
logger := log.New(log.WithStdout()).With(log.WithLevel("level", level.Debug))
|
||||
logger.DebugKVs(ctx, "same message", "error", os.ErrNotExist)
|
||||
// Output: msg="same message" error=file does not exist level=debug
|
||||
}
|
||||
|
||||
func ExampleNew_level() {
|
||||
logger := log.New(log.WithStdout()).With(log.WithLevel(log.LevelError))
|
||||
logger := log.New(log.WithStdout()).With(log.WithLevel("level", level.Error))
|
||||
logger.Info(ctx, "same message")
|
||||
// Output:
|
||||
|
||||
@@ -56,35 +62,25 @@ func ExampleNew_level() {
|
||||
func ExampleNew_jsonFormat() {
|
||||
logger := log.New(log.WithStdout(), log.WithJSONFormat()).
|
||||
With(
|
||||
log.WithCaller(4, true),
|
||||
log.WithLevel(log.LevelDebug),
|
||||
log.WithLevel("level", level.Debug),
|
||||
log.GoVersion("go-version"),
|
||||
)
|
||||
logger.Err(ctx, "same error message")
|
||||
// Output: {"caller":"logger_example_test.go:63","go-version":"go1.14.2","level":"error","msg":"same error message"}
|
||||
// Output: {"go-version":"go1.15.2","level":"error","msg":"same error message"}
|
||||
}
|
||||
|
||||
func ExampleNew_withLogger() {
|
||||
stdlogger := std.New(os.Stdout, "same prefix ", std.Lshortfile)
|
||||
func ExampleNew_textEncoding() {
|
||||
logger := log.With(
|
||||
log.New(
|
||||
log.WithLogger(
|
||||
stdlogger,
|
||||
func(msg string, fields log.Fields) string {
|
||||
return fmt.Sprint("msg=\"", msg, "\" ", fields)
|
||||
},
|
||||
),
|
||||
log.WithCalldepth(9),
|
||||
),
|
||||
log.WithLevel(log.LevelDebug),
|
||||
log.New(log.WithStdout()),
|
||||
log.WithLevel("level", level.Debug),
|
||||
log.GoVersion("go-version"),
|
||||
)
|
||||
logger.Err(ctx, "same error message")
|
||||
logger.InfoKV(ctx, "same info message", "api-version", 0.1)
|
||||
logger.InfoKVs(ctx, "same info message", "api-version", 0.1)
|
||||
|
||||
// Output:
|
||||
// same prefix logger_example_test.go:82: msg="same error message" level=error go-version=go1.14.2
|
||||
// same prefix logger_example_test.go:83: msg="same info message" api-version=0.1 level=info go-version=go1.14.2
|
||||
// msg="same error message" level=error go-version=go1.15.2
|
||||
// msg="same info message" api-version=0.1 level=info go-version=go1.15.2
|
||||
}
|
||||
|
||||
type ctxKey string
|
||||
@@ -93,8 +89,8 @@ func (c ctxKey) String() string {
|
||||
return string(c)
|
||||
}
|
||||
|
||||
func levelInfo(ctx context.Context, level log.Level, msg string, fields log.Fields, handler log.Logger) {
|
||||
handler(ctx, level, msg, append(fields, log.Field{Key: "level", Value: level}))
|
||||
func levelInfo(ctx context.Context, entry *entry.Entry, handler log.Logger) (int, error) {
|
||||
return handler(ctx, entry.Add(field.String("level", entry.Level().String())))
|
||||
}
|
||||
|
||||
func ExampleWith() {
|
||||
@@ -106,7 +102,7 @@ func ExampleWith() {
|
||||
levelInfo, log.WithContextValue(requestID), log.KeyValue("api", "0.1.0"), log.GoVersion("go"),
|
||||
)
|
||||
logger.Info(vctx, "same message")
|
||||
// Output: msg="same message" level=info requestID=6a5fa048-7181-11ea-bc55-0242ac130003 api=0.1.0 go=go1.14.2
|
||||
// Output: msg="same message" level=info requestID=6a5fa048-7181-11ea-bc55-0242ac130003 api=0.1.0 go=go1.15.2
|
||||
}
|
||||
|
||||
func ExampleLogger_Print() {
|
||||
@@ -115,12 +111,31 @@ func ExampleLogger_Print() {
|
||||
levelInfo, log.KeyValue("client", "http"), log.KeyValue("api", "0.1.0"), log.GoVersion("go"),
|
||||
)
|
||||
logger.Print("same message")
|
||||
// Output: msg="same message" level=info client=http api=0.1.0 go=go1.14.2
|
||||
// Output: msg="same message" level=info client=http api=0.1.0 go=go1.15.2
|
||||
}
|
||||
|
||||
func ExamplePrint() {
|
||||
std.SetOutput(os.Stdout)
|
||||
std.SetFlags(0)
|
||||
setStdout()
|
||||
log.Print("same message")
|
||||
// Output: msg="same message" level=info
|
||||
}
|
||||
|
||||
func ExampleWithClosure() {
|
||||
cnt := int32(0)
|
||||
closure := func() string {
|
||||
d := fmt.Sprintf("additional error data: %d", cnt)
|
||||
atomic.AddInt32(&cnt, 1)
|
||||
|
||||
return d
|
||||
}
|
||||
|
||||
log := log.With(log.New(log.WithStdout()), log.WithLevel("level", level.Info), log.WithClosure)
|
||||
|
||||
log.DebugKVs(ctx, "debug message", "data", closure)
|
||||
log.ErrKVs(ctx, "error message", "err", closure)
|
||||
log.WarnKVs(ctx, "warn message", "warn", closure)
|
||||
|
||||
// Output:
|
||||
// msg="error message" err=additional error data: 0 level=error
|
||||
// msg="warn message" warn=additional error data: 1 level=warning
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user