[etw] Add String() functions, JSON field option (#285)

Add `String()` functions to `etw.Level` and `etw.Opcode` types.

Add `etw.JSONStringField()`, which denotes a string field containing
JSON data.

Fix doc comment casing.

Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
This commit is contained in:
Hamza El-Saawy
2023-04-26 12:56:36 -04:00
committed by GitHub
parent 070c828abb
commit 6a0f8b69d1
4 changed files with 77 additions and 6 deletions
+8
View File
@@ -56,6 +56,14 @@ func StringField(name string, value string) FieldOpt {
}
}
// JSONStringField adds a JSON-encoded string field to the event.
func JSONStringField(name string, value string) FieldOpt {
return func(em *eventMetadata, ed *eventData) {
em.writeField(name, inTypeANSIString, outTypeJSON, 0)
ed.writeString(value)
}
}
// StringArray adds an array of string to the event.
func StringArray(name string, values []string) FieldOpt {
return func(em *eventMetadata, ed *eventData) {