diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-01-16 17:58:15 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-01-16 17:58:15 +0900 |
commit | f94bfa02a48b597f1636bc3671247e050d2c7723 (patch) | |
tree | 6b070d6d86a921d54db442b00cd27348ef102717 | |
parent | 7e1c219ea1640884de6a7548ce2da878e276d78e (diff) |
bgpd: add --disable-stdlog option
This enables you to write log to both stdout and syslog.
If you enable syslog, bgpd writes to both. You don't want bgpd to
write to stdout, then use this new option.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | bgpd.go | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -39,11 +39,12 @@ func main() { signal.Notify(sigCh, syscall.SIGHUP) var opts struct { - ConfigFile string `short:"f" long:"config-file" description:"specifying a config file"` - LogLevel string `short:"l" long:"log-level" description:"specifying log level"` - LogPlain bool `short:"p" long:"log-plain" description:"use plain format for logging (json by default)"` - UseSyslog string `short:"s" long:"syslog" description:"use syslogd"` - Facility string `long:"syslog-facility" description:"specify syslog facility"` + ConfigFile string `short:"f" long:"config-file" description:"specifying a config file"` + LogLevel string `short:"l" long:"log-level" description:"specifying log level"` + LogPlain bool `short:"p" long:"log-plain" description:"use plain format for logging (json by default)"` + UseSyslog string `short:"s" long:"syslog" description:"use syslogd"` + Facility string `long:"syslog-facility" description:"specify syslog facility"` + DisableStdlog bool `long:"disable-stdlog" description:"disable standard logging"` } _, err := flags.Parse(&opts) if err != nil { @@ -59,9 +60,13 @@ func main() { log.SetLevel(log.InfoLevel) } - if opts.UseSyslog == "" { - log.SetOutput(os.Stderr) + if opts.DisableStdlog == true { + log.SetOutput(ioutil.Discard) } else { + log.SetOutput(os.Stdout) + } + + if opts.UseSyslog != "" { dst := strings.SplitN(opts.UseSyslog, ":", 2) network := "" addr := "" @@ -120,7 +125,6 @@ func main() { os.Exit(1) } else { log.AddHook(hook) - log.SetOutput(ioutil.Discard) } } |