[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
+28
View File
@@ -0,0 +1,28 @@
// Code generated by "stringer -type=Level -trimprefix=Level"; DO NOT EDIT.
package etw
import "strconv"
func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[LevelAlways-0]
_ = x[LevelCritical-1]
_ = x[LevelError-2]
_ = x[LevelWarning-3]
_ = x[LevelInfo-4]
_ = x[LevelVerbose-5]
}
const _Level_name = "AlwaysCriticalErrorWarningInfoVerbose"
var _Level_index = [...]uint8{0, 6, 14, 19, 26, 30, 37}
func (i Level) String() string {
if i >= Level(len(_Level_index)-1) {
return "Level(" + strconv.FormatInt(int64(i), 10) + ")"
}
return _Level_name[_Level_index[i]:_Level_index[i+1]]
}