func()

in integration/common/onetime/winservice.go [76:104]


func (w *Winservice) Execute(cmd *cobra.Command, args []string) error {
	fmt.Println(fmt.Sprintf("Winservice Execute - starting the service %s", w.Integration.GetAgentName()))
	config := &winsvc.Config{
		Name:        w.Integration.GetAgentName(),
		DisplayName: w.Integration.GetAgentLongName(),
		Description: w.Integration.GetAgentLongName(),
	}
	s, err := winsvc.New(w, config)
	if err != nil {
		return fmt.Errorf("Winservice Execute - error creating Windows service manager interface for service %s: %s",
			w.Integration.GetAgentName(), err)
	}
	w.Service = s

	winlogger, err = s.Logger(nil)
	if err != nil {
		return fmt.Errorf("Winservice Execute - error creating Windows Event Logger for service %s: %s",
			w.Integration.GetAgentName(), err)
	}
	fmt.Println(fmt.Sprintf("Winservice Execute -Starting the %s service", w.Integration.GetAgentName()))
	winlogger.Info(fmt.Sprintf("Winservice Execute - Starting the %s service", w.Integration.GetAgentName()))

	err = s.Run()
	if err != nil {
		winlogger.Error(err)
	}
	winlogger.Info(fmt.Sprintf("Winservice Execute - The %s service is shutting down", w.Integration.GetAgentName()))
	return nil
}