func()

in pkg/output/winlog/winlog_windows.go [79:101]


func (o *Output) Write(b []byte) (n int, err error) {
	if o.log == nil {
		return 0, errors.New("the output is closed and unusable")
	}
	var etype uint16
	var eid uint32
	var messages []string
	switch o.Templated {
	case true:
		tpl := &EventTemplate{}
		if err := json.Unmarshal(b, tpl); err != nil {
			return 0, err
		}
		etype = tpl.EventType
		eid = tpl.EventID
		messages = tpl.Messages
	case false:
		etype = eventlog.Info
		eid = uint32(rand.Int63() % 1000)
		messages = []string{string(b)}
	}
	return len(b), safeWriteEvent(o.log, etype, eid, messages)
}