log/formatter_keyvalue_test.go

39 lines
1.1 KiB
Go

// Copyright 2023 Martin Riedl
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package log
import "testing"
func TestFormatterKeyValue(t *testing.T) {
// prepare test data
entry := &Entry{
Message: "Some Text",
Content: []Content{
{Key: "k1", Value: "v1"},
{Key: "k2", Value: "v2"},
},
Level: LevelInfo,
}
result := `time="0001-01-01T00:00:00Z" level=INFO message="Some Text" k1=v1 k2=v2`
// execute formatter
formatter := NewFormatterKeyValue()
formatter.Begin(entry)
formatter.Process(entry)
data := formatter.End(entry)
if string(data) != result {
t.Error("received invalid KV data", string(data))
}
}