源码
PS:这篇的目的是熟悉nsq的配置参数顺带说一下命令行解析
func nsqdFlagSet(opts *nsqd.Options) *flag.FlagSet {
flagSet := flag.NewFlagSet("nsqd", flag.ExitOnError)//返回一个带有错误处理的 空的flag set。
// basic options
flagSet.Bool("version", false, "print version string")//以下类似的函数都是 name,+ 默认value + 说明的形式
flagSet.String("config", "", "path to config file")
logLevel := opts.LogLevel
flagSet.Var(&logLevel, "log-level", "set log verbosity: debug, info, warn, error, or fatal")
flagSet.String("log-prefix", "[nsqd] ", "log message prefix")
flagSet.Bool("verbose", false, "[deprecated] has no effect, use --log-level")
flagSet.Int64("node-id", opts.ID, "unique part for message IDs, (int) in range [0,1024) (default is hash of hostname)")
flagSet.Bool("worker-id", false, "[deprecated] use --node-id")
flagSet.String("https-address", opts.HTTPSAddress, "<addr>:<port> to listen on for HTTPS clients")
flagSet.String("http-address", opts.HTTPAddress, "<addr>:<port> to listen on for HTTP clients")
flagSet.String("tcp-address", opts.TCPAddress, "<addr>:<port> to listen on for TCP clients")
authHTTPAddresses := app.StringArray{
}
flagSet.Var(&authHTTPAddresses