summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-16 17:58:15 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-16 17:58:15 +0900
commitf94bfa02a48b597f1636bc3671247e050d2c7723 (patch)
tree6b070d6d86a921d54db442b00cd27348ef102717
parent7e1c219ea1640884de6a7548ce2da878e276d78e (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.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/bgpd.go b/bgpd.go
index 6188d86a..3f296e98 100644
--- a/bgpd.go
+++ b/bgpd.go
@@ -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)
}
}