From 58f778a886b1e483dccc3b61085ccf347bf1a37e Mon Sep 17 00:00:00 2001 From: Simon Eskildsen Date: Thu, 15 Jan 2015 13:40:48 -0500 Subject: [PATCH] Revert "Merge pull request #100 from crquan/patch-1" This reverts commit c6a969a0de65e41b666c5dd015b3988b47cd940b, reversing changes made to 3c5b048a9d4a00d644cf9992762c26d4ca8493ac. --- text_formatter.go | 34 ++++++++++++++++++---------------- text_formatter_test.go | 27 --------------------------- 2 files changed, 18 insertions(+), 43 deletions(-) diff --git a/text_formatter.go b/text_formatter.go index c5cf225..78e7889 100644 --- a/text_formatter.go +++ b/text_formatter.go @@ -59,17 +59,17 @@ func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { printColored(b, entry, keys) } else { if !f.DisableTimestamp { - printKeyValue(b, "time", entry.Time.Format(time.RFC3339)) + f.appendKeyValue(b, "time", entry.Time.Format(time.RFC3339)) } - printKeyValue(b, "level", entry.Level.String()) - printKeyValue(b, "msg", entry.Message) + f.appendKeyValue(b, "level", entry.Level.String()) + f.appendKeyValue(b, "msg", entry.Message) for _, key := range keys { - printKeyValue(b, key, entry.Data[key]) + f.appendKeyValue(b, key, entry.Data[key]) } } b.WriteByte('\n') - return b.Bytes()[1:], nil + return b.Bytes(), nil } func printColored(b *bytes.Buffer, entry *Entry, keys []string) { @@ -85,7 +85,7 @@ func printColored(b *bytes.Buffer, entry *Entry, keys []string) { levelText := strings.ToUpper(entry.Level.String())[0:4] - fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m[%04d] %-44s", levelColor, levelText, miniTS(), entry.Message) + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d] %-44s ", levelColor, levelText, miniTS(), entry.Message) for _, k := range keys { v := entry.Data[k] fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=%v", levelColor, k, v) @@ -104,19 +104,21 @@ func needsQuoting(text string) bool { return true } -func printKeyValue(b *bytes.Buffer, key, value interface{}) { +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key, value interface{}) { switch value.(type) { case string: - break + if needsQuoting(value.(string)) { + fmt.Fprintf(b, "%v=%s ", key, value) + } else { + fmt.Fprintf(b, "%v=%q ", key, value) + } case error: - value = value.(error).Error() + if needsQuoting(value.(error).Error()) { + fmt.Fprintf(b, "%v=%s ", key, value) + } else { + fmt.Fprintf(b, "%v=%q ", key, value) + } default: - fmt.Fprintf(b, " %v=%v", key, value) - } - - if needsQuoting(value.(string)) { - fmt.Fprintf(b, " %v=%s", key, value) - } else { - fmt.Fprintf(b, " %v=%q", key, value) + fmt.Fprintf(b, "%v=%v ", key, value) } } diff --git a/text_formatter_test.go b/text_formatter_test.go index 8b71afb..f604f1b 100644 --- a/text_formatter_test.go +++ b/text_formatter_test.go @@ -31,30 +31,3 @@ func TestQuoting(t *testing.T) { checkQuoting(false, errors.New("invalid")) checkQuoting(true, errors.New("invalid argument")) } - -func TestTextPrint(t *testing.T) { - tf := &TextFormatter{DisableColors: true} - byts, _ := tf.Format(&Entry{Message: "msg content"}) - - // make sure no leading or trailing spaces - if string(byts) != - "time=\"0001-01-01T00:00:00Z\" level=panic msg=\"msg content\"\n" { - t.Errorf("not expected: %q", string(byts)) - } -} - -func TestColorPrint(t *testing.T) { - tf := &TextFormatter{ForceColors: true} - entry := WithField("testkey", "value") - entry.Message = "msg content" - byts, _ := tf.Format(entry) - - // make sure no leading or trailing spaces - if string(byts) != - "\x1b[31mPANI\x1b[0m[0000] " + - // length 44 plus one space - "msg content " + - "\x1b[31mtestkey\x1b[0m=value\n" { - t.Errorf("not expected: %q", string(byts)) - } -}