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
}