logfrog-go/processors/runtimemeta.go

37 lines
883 B
Go

package processors
import (
"runtime"
"codeark.it/Bithero-Agency-Go/logfrog-go"
)
func RuntimeVersionProcessor(fieldName string) logfrog.LogProcessorFn {
return func(r *logfrog.LogRecord) *logfrog.LogRecord {
_, ok := r.Fields[fieldName]
if (!ok) {
r.Fields[fieldName] = runtime.Version()
}
return r
}
}
type RuntimeMeta struct {
Version string `json:"version"`
GOARCH string `json:"GOARCH"`
GOOS string `json:"GOOS"`
}
func RuntimeMetaProcessor(fieldName string) logfrog.LogProcessorFn {
return func(r *logfrog.LogRecord) *logfrog.LogRecord {
_, ok := r.Fields[fieldName]
if (!ok) {
r.Fields[fieldName] = RuntimeMeta{
runtime.Version(),
runtime.GOARCH,
runtime.GOOS,
}
}
return r
}
}