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

     1  package logger
     2  
     3  type (
     4  	LogArg struct {
     5  		Key        string      // 参数名
     6  		IsTopLevel bool        // 是否在顶层输出
     7  		Value      interface{} // 值
     8  	}
     9  	// 常见 KEY 设置
    10  	LogArgKey string
    11  )
    12  
    13  // 内置 Key 预设
    14  const (
    15  	KeyUserid LogArgKey = "userid"
    16  	KeyToken  LogArgKey = "token"
    17  )
    18  
    19  func (key LogArgKey) String() string {
    20  	return string(key)
    21  }
    22  
    23  func ArgUserId(userid string) *LogArg {
    24  	return &LogArg{
    25  		Key:   KeyUserid.String(),
    26  		Value: userid,
    27  	}
    28  }
    29  
    30  func ArgAny(key string, val interface{}) *LogArg {
    31  	return &LogArg{
    32  		Key:   key,
    33  		Value: val,
    34  	}
    35  }
    36  
    37  func ArgToken(token string) *LogArg {
    38  	return &LogArg{
    39  		Key:   KeyToken.String(),
    40  		Value: token,
    41  	}
    42  }