68 func main() {
69 println("gnatsd code for cz")
70 // Server Options
71 opts := &server.Options{}
gnatsd-1.0.0 cz$ ./gnatsd
gnatsd code for cz
[63927] 2019/03/20 10:43:24.573036 [INF] Starting nats-server version 1.0.0
[63927] 2019/03/20 10:43:24.573404 [INF] Listening for client connections on 0.0.0.0:4222
[63927] 2019/03/20 10:43:24.573415 [INF] Server is ready
192 // Create the server with appropriate options.
193 s := server.New(opts)
194
195 // Configure the logger based on the flags
196 s.ConfigureLogger()
197
198 // Start things up. Block here until done.
199 if err := server.Run(s); err != nil {
200 server.PrintAndDie(err.Error())
201 }
conf cz$ tree .
.
├── lex.go
├── parse.go
167 // Parse config if given
168 if configFile != "" {
169 fileOpts, err := server.ProcessConfigFile(configFile)
170 if err != nil {
171 server.PrintAndDie(err.Error())
172 }
173 opts = server.MergeOptions(fileOpts, opts)
174 }
156 // ProcessConfigFile processes a configuration file.
157 // FIXME(dlc): Hacky
158 func ProcessConfigFile(configFile string) (*Options, error) {
159 opts := &Options{ConfigFile: configFile}
160
161 if configFile == "" {
162 return opts, nil
163 }
164
165 m, err := conf.ParseFile(configFile)
166 if err != nil {
167 return nil, err
168 }
169
170 for k, v := range m {
171 switch strings.ToLower(k) {
172 case "listen":
173 hp, err := parseListen(v)
174 if err != nil {
175 return nil, err
176 }
177 opts.Host = hp.host
178 opts.Port = hp.port
...
}
-l, --log FILE File to redirect log output.
-T, --logtime Timestamp log entries (default is true).
-s, --syslog Enable syslog as log method.
-r, --remote_syslog Syslog server address.
-D, --debug Enable debugging output.
-V, --trace Trace the raw protocol.
-DV Debug and Trace.