add hide token config.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu 2016-05-16 21:04:05 +08:00
parent 537605a86c
commit af63356e56
4 changed files with 17 additions and 5 deletions

View File

@ -57,6 +57,7 @@ type SectionLog struct {
AccessLevel string `yaml:"access_level"` AccessLevel string `yaml:"access_level"`
ErrorLog string `yaml:"error_log"` ErrorLog string `yaml:"error_log"`
ErrorLevel string `yaml:"error_level"` ErrorLevel string `yaml:"error_level"`
HideToken bool `yaml:"hide_token"`
} }
// SectionStat is sub seciont of config. // SectionStat is sub seciont of config.
@ -115,6 +116,7 @@ func BuildDefaultPushConf() ConfYaml {
conf.Log.AccessLevel = "debug" conf.Log.AccessLevel = "debug"
conf.Log.ErrorLog = "stderr" conf.Log.ErrorLog = "stderr"
conf.Log.ErrorLevel = "error" conf.Log.ErrorLevel = "error"
conf.Log.HideToken = true
conf.Stat.Engine = "memory" conf.Stat.Engine = "memory"
conf.Stat.Redis.Addr = "localhost:6379" conf.Stat.Redis.Addr = "localhost:6379"

View File

@ -30,6 +30,7 @@ log:
access_level: "debug" access_level: "debug"
error_log: "stderr" error_log: "stderr"
error_level: "error" error_level: "error"
hide_token: true
stat: stat:
engine: "memory" engine: "memory"

View File

@ -181,16 +181,20 @@ func typeForPlatForm(platform int) string {
} }
} }
func hideToken(token string, starLen int) string { func hideToken(token string, markLen int) string {
if len(token) == 0 { if len(token) == 0 {
return "" return ""
} }
start := token[len(token)-starLen:] if len(token) < markLen*2 {
end := token[0:starLen] return strings.Repeat("*", len(token))
}
result := strings.Replace(token, start, strings.Repeat("*", starLen), -1) start := token[len(token)-markLen:]
result = strings.Replace(result, end, strings.Repeat("*", starLen), -1) end := token[0:markLen]
result := strings.Replace(token, start, strings.Repeat("*", markLen), -1)
result = strings.Replace(result, end, strings.Repeat("*", markLen), -1)
return result return result
} }
@ -207,6 +211,10 @@ func LogPush(status, token string, req PushNotification, errPush error) {
errMsg = errPush.Error() errMsg = errPush.Error()
} }
if PushConf.Log.HideToken == true {
token = hideToken(token, 10)
}
log := &LogPushEntry{ log := &LogPushEntry{
Type: status, Type: status,
Platform: plat, Platform: plat,

View File

@ -92,4 +92,5 @@ func TestPlatFormColor(t *testing.T) {
func TestHideToken(t *testing.T) { func TestHideToken(t *testing.T) {
assert.Equal(t, "", hideToken("", 2)) assert.Equal(t, "", hideToken("", 2))
assert.Equal(t, "**345678**", hideToken("1234567890", 2)) assert.Equal(t, "**345678**", hideToken("1234567890", 2))
assert.Equal(t, "*****", hideToken("12345", 10))
} }