in pkg/output/winlog/winlog_windows.go [125:145]
func createLog(name, source, messageFile string) (*eventlog.Log, error) {
existed, err := eventlog.Install(name, source, messageFile, true, eventlog.Error|eventlog.Warning|eventlog.Info)
if err != nil {
return nil, err
}
if existed {
wineventlog.EvtClearLog(wineventlog.NilHandle, name, "")
}
log, err := eventlog.Open(source)
if err != nil {
return nil, multierr.Combine(
err,
eventlog.RemoveSource(name, source),
eventlog.RemoveProvider(name),
)
}
return log, nil
}