func runService(name string, isDebug bool) { errFix := fixEventMessageFile(name) //Temp fix. Remove after a few weeks. if errFix != nil { slog.Errorf("%s fixEventMessageFile failed: %v", name, errFix) return } if isDebug { slog.SetEventLog(debug.New(name), 1) } else { elog, err := eventlog.Open(name) if err != nil { return } slog.SetEventLog(elog, 1) defer elog.Close() } slog.Infof("starting %s service version %v (%v)", name, version.Version, version.VersionSHA) run := svc.Run if isDebug { run = debug.Run } err := run(name, &s{}) if err != nil { slog.Errorf("%s service failed: %v", name, err) return } slog.Infof("%s service stopped", name) os.Exit(0) }
func Start(logToConsole bool) error { if logToConsole { logger.elog = debug.New(lib.ConnectorName) } else { l, err := eventlog.Open(lib.ConnectorName) if err != nil { return err } logger.elog = l } return nil }
func RunAsService(name string, start, stop func(), isDebug bool) (err error) { if isDebug { elog = debug.New(name) } else { elog, err = eventlog.Open(name) if err != nil { return } } defer elog.Close() run := svc.Run if isDebug { run = debug.Run } elog.Info(1, fmt.Sprintf("winsvc.RunAsService: starting %s service", name)) if err = run(name, &winService{Start: start, Stop: stop}); err != nil { elog.Error(1, fmt.Sprintf("%s service failed: %v", name, err)) return } elog.Info(1, fmt.Sprintf("winsvc.RunAsService: %s service stopped", name)) return }
func runService(name string, isDebug bool) { var err error if isDebug { elog = debug.New(name) } else { elog, err = eventlog.Open(name) if err != nil { return } } defer elog.Close() elog.Info(1, fmt.Sprintf("starting %s service", name)) run := svc.Run if isDebug { run = debug.Run } err = run(name, &myservice{}) if err != nil { elog.Error(1, fmt.Sprintf("%s service failed: %v", name, err)) return } elog.Info(1, fmt.Sprintf("%s service stopped", name)) }
func runService(name string, isDebug bool) { if isDebug { slog.SetEventLog(debug.New(name), 1) } else { elog, err := eventlog.Open(name) if err != nil { return } slog.SetEventLog(elog, 1) defer elog.Close() } slog.Infof("starting service %s%s", name, version.GetVersionInfo("")) run := svc.Run if isDebug { run = debug.Run } err := run(name, &s{}) if err != nil { slog.Errorf("%s service failed: %v", name, err) return } slog.Infof("%s service stopped", name) os.Exit(0) }