github.com/JohanShen/go-utils@v1.1.4-0.20201117124024-901319a2b2a0/logger/zap_logger_test.go (about)

     1  package logger
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/JohanShen/go-utils/utils"
     6  	"os"
     7  	"os/signal"
     8  	"reflect"
     9  	"strconv"
    10  	"testing"
    11  	"time"
    12  )
    13  
    14  func TestABC(t *testing.T) {
    15  
    16  	var a interface{}
    17  	a = 43
    18  	b := numberic2str(a)
    19  
    20  	var a1 interface{}
    21  	a1 = "66"
    22  	b1 := numberic2str(a1)
    23  	//b = a.(string)
    24  
    25  	t.Log(a, reflect.TypeOf(a))
    26  	t.Log(b, reflect.TypeOf(b))
    27  
    28  	t.Log(a1, reflect.TypeOf(a1))
    29  	t.Log(b1, reflect.TypeOf(b1))
    30  
    31  }
    32  
    33  func numberic2str(a interface{}) string {
    34  	b := ""
    35  	switch a.(type) {
    36  	case int:
    37  		b = strconv.Itoa(a.(int))
    38  	case int16:
    39  		b = strconv.FormatInt(int64(a.(int16)), 10)
    40  	case int8:
    41  		b = strconv.FormatInt(int64(a.(int8)), 10)
    42  	case int32:
    43  		b = strconv.FormatInt(int64(a.(int32)), 10)
    44  	case int64:
    45  		b = strconv.FormatInt(a.(int64), 10)
    46  	case string:
    47  		b = a.(string)
    48  	}
    49  	return b
    50  }
    51  
    52  func TestDebug(t *testing.T) {
    53  
    54  	//合建chan
    55  	c := make(chan os.Signal)
    56  	//监听所有信号
    57  	signal.Notify(c)
    58  	//阻塞直到有信号传入
    59  	fmt.Println("启动")
    60  
    61  	go func() {
    62  		s := <-c
    63  		fmt.Println("退出信号", s)
    64  	}()
    65  
    66  	currentTime := time.Now()
    67  
    68  	fmt.Println("Current Time in String: ", currentTime.String())
    69  
    70  	fmt.Println("MM-DD-YYYY : ", currentTime.Format("01月02日2006年 Monday"))
    71  	fmt.Println("MM-DD-YYYY : ", currentTime.Format("06年1月2日3:4:5 Mon"))
    72  
    73  	fmt.Println("MM-DD-YYYY : ", utils.XTime(currentTime).Format("%Y年%m月%D日%h:%I:%s 333333"))
    74  
    75  	//path := "./d/f/d/txt.log"
    76  
    77  	a, _ := os.Getwd()
    78  	t.Log(a)
    79  
    80  	//os.Chdir(path)
    81  	//os.MkdirAll(path, 0666)
    82  
    83  	fileInfo, err := os.Stat("test.txt")
    84  	t.Log(fileInfo, err)
    85  	if err != nil {
    86  		if os.IsNotExist(err) {
    87  			t.Log("文件不存在")
    88  		}
    89  	}
    90  
    91  	fileInfo, err = os.Stat("test.log")
    92  	t.Log(fileInfo, err)
    93  
    94  	var config = &Config{Name: "test", ConsoleLog: false, LogPath: "./%Y/%M%D/%H%I.log", WriteDelay: 50, ShowInTopLevel: []string{"token", "userid"}}
    95  	var logger1 Logger
    96  	logger1 = NewZapLogger(config)
    97  
    98  	go func(logger1 Logger) {
    99  		for i := 0; i < 20000000; i++ {
   100  			data := make([]*LogArg, 0, 5)
   101  			data = append(data, ArgToken(utils.AnyToStr(time.Now().Unix())))
   102  			data = append(data, ArgUserId(utils.AnyToStr(i+i*2)))
   103  			data = append(data, ArgAny("time", time.Now()))
   104  			data = append(data, ArgAny("i", i))
   105  
   106  			logger1.Debug(fmt.Sprintf("男儿当自强 %d", i), data...)
   107  			//time.Sleep(15 * time.Millisecond)
   108  		}
   109  	}(logger1)
   110  
   111  	time.Sleep(190 * time.Second)
   112  	//logger1.Debug(MakeInfoBody("男儿当自强", "123", "", currentTime))
   113  	//logger1.Info(MakeDebugBody("123", "ddd", "", "c"))
   114  
   115  }