Merge pull request #21889 from cpuguy83/logscmd_add_attrs
Add support for reading logs extra attrs
This commit is contained in:
commit
8a7fc5c59d
2 changed files with 13 additions and 11 deletions
|
@ -15,6 +15,8 @@ type JSONLog struct {
|
||||||
Stream string `json:"stream,omitempty"`
|
Stream string `json:"stream,omitempty"`
|
||||||
// Created is the created timestamp of log
|
// Created is the created timestamp of log
|
||||||
Created time.Time `json:"time"`
|
Created time.Time `json:"time"`
|
||||||
|
// Attrs is the list of extra attributes provided by the user
|
||||||
|
Attrs map[string]string `json:"attrs,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Format returns the log formatted according to format
|
// Format returns the log formatted according to format
|
||||||
|
|
|
@ -6,18 +6,18 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestJSONLogMarshalJSON(t *testing.T) {
|
func TestJSONLogMarshalJSON(t *testing.T) {
|
||||||
logs := map[JSONLog]string{
|
logs := map[*JSONLog]string{
|
||||||
JSONLog{Log: `"A log line with \\"`}: `^{\"log\":\"\\\"A log line with \\\\\\\\\\\"\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: `"A log line with \\"`}: `^{\"log\":\"\\\"A log line with \\\\\\\\\\\"\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: "A log line"}: `^{\"log\":\"A log line\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: "A log line"}: `^{\"log\":\"A log line\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: "A log line with \r"}: `^{\"log\":\"A log line with \\r\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: "A log line with \r"}: `^{\"log\":\"A log line with \\r\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: "A log line with & < >"}: `^{\"log\":\"A log line with \\u0026 \\u003c \\u003e\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: "A log line with & < >"}: `^{\"log\":\"A log line with \\u0026 \\u003c \\u003e\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: "A log line with utf8 : 🚀 ψ ω β"}: `^{\"log\":\"A log line with utf8 : 🚀 ψ ω β\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: "A log line with utf8 : 🚀 ψ ω β"}: `^{\"log\":\"A log line with utf8 : 🚀 ψ ω β\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Stream: "stdout"}: `^{\"stream\":\"stdout\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Stream: "stdout"}: `^{\"stream\":\"stdout\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{}: `^{\"time\":\".{20,}\"}$`,
|
&JSONLog{}: `^{\"time\":\".{20,}\"}$`,
|
||||||
// These ones are a little weird
|
// These ones are a little weird
|
||||||
JSONLog{Log: "\u2028 \u2029"}: `^{\"log\":\"\\u2028 \\u2029\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: "\u2028 \u2029"}: `^{\"log\":\"\\u2028 \\u2029\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: string([]byte{0xaF})}: `^{\"log\":\"\\ufffd\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: string([]byte{0xaF})}: `^{\"log\":\"\\ufffd\",\"time\":\".{20,}\"}$`,
|
||||||
JSONLog{Log: string([]byte{0x7F})}: `^{\"log\":\"\x7f\",\"time\":\".{20,}\"}$`,
|
&JSONLog{Log: string([]byte{0x7F})}: `^{\"log\":\"\x7f\",\"time\":\".{20,}\"}$`,
|
||||||
}
|
}
|
||||||
for jsonLog, expression := range logs {
|
for jsonLog, expression := range logs {
|
||||||
data, err := jsonLog.MarshalJSON()
|
data, err := jsonLog.MarshalJSON()
|
||||||
|
|
Loading…
Reference in a new issue