基于 `zap` 包封装。除了实现 `Go` 日志包的基本功能外,还实现了很多高级功能 本包基于`github.com/tkestack/tke/pkg/util/log`裁剪
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
967 B

2 years ago
  1. package log_test
  2. import (
  3. "cynking.com/pkg/log"
  4. "github.com/spf13/pflag"
  5. "github.com/stretchr/testify/assert"
  6. "testing"
  7. )
  8. func Test_WithName(t *testing.T) {
  9. defer log.Flush() // used for record logger printer
  10. logger := log.WithName("test")
  11. logger.Infow("Hello world!", "foo", "bar") // structed logger
  12. }
  13. func Test_WithValues(t *testing.T) {
  14. defer log.Flush() // used for record logger printer
  15. logger := log.WithValues("key", "value") // used for record context
  16. logger.Info("Hello world!")
  17. logger.Info("Hello world!")
  18. }
  19. func Test_V(t *testing.T) {
  20. defer log.Flush() // used for record logger printer
  21. log.V(0).Infow("Hello world!", "key", "value")
  22. log.V(1).Infow("Hello world!", "key", "value")
  23. }
  24. func Test_Option(t *testing.T) {
  25. fs := pflag.NewFlagSet("test", pflag.ExitOnError)
  26. opt := log.NewOptions()
  27. opt.AddFlags(fs)
  28. args := []string{"--log.level=debug"}
  29. err := fs.Parse(args)
  30. assert.Nil(t, err)
  31. assert.Equal(t, "debug", opt.Level)
  32. }