func TestFormatterTagged(t *testing.T) { assert := assert.New(t) formatter := new(StandardSinkFormatter) formatter.SetFormat("[%time%] [%severity%] - %message% (%tags%)") var msg core.LogMessage = core.CreateTaggedLogMessage("DEBUG", "test", []string{"A", "B"}) output := formatter.GetFormattedMessage(msg) expected := fmt.Sprintf("[%s] [%s] - %s (%s)", msg.Time().Format(time.RFC3339), "DEBUG", "test", "A,B") assert.EqualValues(expected, output) }
func TestFormatterSpecialDateFormat(t *testing.T) { assert := assert.New(t) formatter := new(StandardSinkFormatter) formatter.SetFormat("[%time(2006-02-01 15:03:04.000)%] [%severity%] - %message%") var msg core.LogMessage = core.CreateBasicLogMessage("DEBUG", "test") output := formatter.GetFormattedMessage(msg) expected := fmt.Sprintf("[%s] [%s] - %s", msg.Time().Format("2006-02-01 15:03:04.000"), "DEBUG", "test") assert.EqualValues(expected, output) }
func TestFormatterNewLines(t *testing.T) { assert := assert.New(t) formatter := new(StandardSinkFormatter) formatter.SetFormat("[%time%] [%severity%] - %message%") var msg core.LogMessage = core.CreateBasicLogMessage("DEBUG", "test\ntest") output := formatter.GetFormattedMessage(msg) expected := fmt.Sprintf("[%s] [%s] - %s", msg.Time().Format(time.RFC3339), "DEBUG", "test\n\ttest") assert.EqualValues(expected, output) }
func (this *StandardSinkFormatter) GetFormattedMessage(msg core.LogMessage) string { var b bytes.Buffer this.compiledTemplate.Execute( &b, map[string]interface{}{ "time": msg.Time().Format(this.timeFormat), "severity": msg.Severity(), "message": strings.Replace(msg.Message(), "\n", "\n\t", -1), "tags": strings.Join(msg.Tags(), ","), }, ) return b.String() }