func New()

in pkg/generator/winlog/winlog.go [177:199]


func New(cfg *ucfg.Config) (generator.Generator, error) {
	c := defaultConfig()
	if err := cfg.Unpack(&c); err != nil {
		return nil, err
	}

	g := Generator{}
	if c.EventID > 0 {
		g.eventID = &c.EventID
	}

	if c.AsTemplate {
		g.render = func(e Event) ([]byte, error) {
			return json.Marshal(e.AsTemplate())
		}
	} else {
		g.render = func(e Event) ([]byte, error) {
			return xml.MarshalIndent(&g.Event, "", "  ")
		}
	}

	return &g, nil
}