func main()

in cmd/proxy/main.go [33:62]


func main() {
	args := &Arguments{}
	arg.MustParse(args)

	ll, err := zerolog.ParseLevel(args.LogLevel)
	if err != nil {
		fmt.Fprintf(os.Stderr, "invalid log level: %s\n", args.LogLevel)
		os.Exit(1)
	}

	zerolog.SetGlobalLevel(ll)
	zerolog.TimeFieldFormat = time.RFC3339Nano

	l := zerolog.New(os.Stdout).With().Timestamp().Str("self", pcontext.NodeName).Str("version", version).Logger()
	ctx := l.WithContext(context.Background())

	ctx, err = metrics.WithContext(ctx, pcontext.NodeName, "peerd")
	if err != nil {
		l.Error().Err(err).Msg("failed to initialize metrics")
		os.Exit(1)
	}

	err = run(ctx, args)
	if err != nil {
		l.Error().Err(err).Msg("server error")
		os.Exit(1)
	}

	l.Info().Msg("server shutdown")
}