feat: add config to truncate long log content (#2767)

This commit is contained in:
Kevin Wan
2023-01-09 09:39:30 +08:00
committed by GitHub
parent 0defb7522f
commit 74e0676617
6 changed files with 56 additions and 6 deletions

View File

@@ -278,6 +278,15 @@ func combineGlobalFields(fields []LogField) []LogField {
}
func output(writer io.Writer, level string, val interface{}, fields ...LogField) {
// only truncate string content, don't know how to truncate the values of other types.
if v, ok := val.(string); ok {
maxLen := atomic.LoadUint32(&maxContentLength)
if maxLen > 0 && len(v) > int(maxLen) {
val = v[:maxLen]
fields = append(fields, truncatedField)
}
}
fields = combineGlobalFields(fields)
switch atomic.LoadUint32(&encoding) {