package main import ( "fmt" "os" "github.com/rs/zerolog" "github.com/rs/zerolog/log" flag "github.com/spf13/pflag" "git.tcp.direct/Mirrors/bitcask-mirror/internal" ) var ( bind string debug bool version bool ) func init() { flag.Usage = func() { fmt.Fprintf(os.Stderr, "Usage: %s [options] \n", os.Args[0]) flag.PrintDefaults() } flag.BoolVarP(&version, "version", "v", false, "display version information") flag.BoolVarP(&debug, "debug", "d", false, "enable debug logging") flag.StringVarP(&bind, "bind", "b", ":6379", "interface and port to bind to") } func main() { flag.Parse() if debug { zerolog.SetGlobalLevel(zerolog.DebugLevel) } else { zerolog.SetGlobalLevel(zerolog.InfoLevel) } if version { fmt.Printf("bitcaskd version %s", internal.FullVersion()) os.Exit(0) } if len(flag.Args()) < 1 { flag.Usage() os.Exit(1) } path := flag.Arg(0) server, err := newServer(bind, path) if err != nil { log.Error().Err(err).Msg("error creating server") os.Exit(2) } if err = server.Run(); err != nil { log.Fatal().Err(err).Msg("failed to start server") } }