main.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package main
  2. import (
  3. "git.beejay.kim/WatchDog/ward/app/daemon"
  4. "git.beejay.kim/WatchDog/ward/version"
  5. "github.com/rs/zerolog"
  6. "github.com/rs/zerolog/log"
  7. "github.com/urfave/cli/v2"
  8. "os"
  9. "time"
  10. )
  11. var app *cli.App
  12. func init() {
  13. // Default log level is info, unless debug flag is present
  14. zerolog.SetGlobalLevel(zerolog.InfoLevel)
  15. zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
  16. app = &cli.App{
  17. Name: version.Name,
  18. Version: version.BuildVersion,
  19. EnableBashCompletion: true,
  20. Compiled: time.Now(),
  21. Authors: []*cli.Author{
  22. {
  23. Name: "BeeJay Kim",
  24. Email: "i@beejay.kim",
  25. },
  26. },
  27. Copyright: "(c) 2024 BeeJay Kim",
  28. Flags: []cli.Flag{
  29. &cli.BoolFlag{
  30. Name: "debug",
  31. Usage: "sets log level to debug",
  32. Aliases: []string{"d"},
  33. Action: func(ctx *cli.Context, debug bool) error {
  34. zerolog.SetGlobalLevel(zerolog.DebugLevel)
  35. return nil
  36. },
  37. },
  38. },
  39. Commands: []*cli.Command{
  40. &daemon.CMD,
  41. },
  42. }
  43. }
  44. func main() {
  45. if err := app.Run(os.Args); err != nil {
  46. log.Fatal().Err(err).Send()
  47. }
  48. }