Use Buffer pool to allocate bytes.Buffer for formatter

Entry.Reader() seams not necessary, removed
This commit is contained in:
plan
2016-06-18 21:47:44 +08:00
committed by plan
parent a283a10442
commit 69df0d2ed7
2 changed files with 37 additions and 22 deletions
+6 -2
View File
@@ -57,6 +57,7 @@ type TextFormatter struct {
}
func (f *TextFormatter) Format(entry *Entry) ([]byte, error) {
var b *bytes.Buffer
var keys []string = make([]string, 0, len(entry.Data))
for k := range entry.Data {
keys = append(keys, k)
@@ -65,8 +66,11 @@ func (f *TextFormatter) Format(entry *Entry) ([]byte, error) {
if !f.DisableSorting {
sort.Strings(keys)
}
b := &bytes.Buffer{}
if entry.Buffer != nil {
b = entry.Buffer
} else {
b = &bytes.Buffer{}
}
prefixFieldClashes(entry.Data)