From 415d0cb0e48a2c4538e060a8e057da952ad67e7e Mon Sep 17 00:00:00 2001 From: Pierce Lopez Date: Tue, 24 Jan 2017 18:42:17 -0500 Subject: [PATCH] new --log-prefix flag / option for nsqd, nsqlookupd, nsqadmin instantiate Logger in $APP.New() instead of $APP.NewOptions(), only if not already present in opts --- apps/nsqadmin/main.go | 1 + apps/nsqd/nsqd.go | 1 + apps/nsqlookupd/nsqlookupd.go | 1 + nsqadmin/nsqadmin.go | 5 +++++ nsqadmin/options.go | 5 ++--- nsqd/nsqd.go | 4 ++++ nsqd/options.go | 6 +++--- nsqlookupd/nsqlookupd.go | 4 ++++ nsqlookupd/options.go | 6 +++--- 9 files changed, 24 insertions(+), 9 deletions(-) diff --git a/apps/nsqadmin/main.go b/apps/nsqadmin/main.go index e5a4afca7..75a9c9a19 100644 --- a/apps/nsqadmin/main.go +++ b/apps/nsqadmin/main.go @@ -21,6 +21,7 @@ var ( config = flagSet.String("config", "", "path to config file") showVersion = flagSet.Bool("version", false, "print version string") + logPrefix = flagSet.String("log-prefix", "[nsqadmin] ", "log message prefix") httpAddress = flagSet.String("http-address", "0.0.0.0:4171", ": to listen on for HTTP clients") diff --git a/apps/nsqd/nsqd.go b/apps/nsqd/nsqd.go index 60bc26b6f..40df9fd4f 100644 --- a/apps/nsqd/nsqd.go +++ b/apps/nsqd/nsqd.go @@ -80,6 +80,7 @@ func nsqdFlagSet(opts *nsqd.Options) *flag.FlagSet { flagSet.Bool("version", false, "print version string") flagSet.Bool("verbose", false, "enable verbose logging") flagSet.String("config", "", "path to config file") + flagSet.String("log-prefix", "[nsqd] ", "log message prefix") flagSet.Int64("worker-id", opts.ID, "unique seed for message ID generation (int) in range [0,4096) (will default to a hash of hostname)") flagSet.String("https-address", opts.HTTPSAddress, ": to listen on for HTTPS clients") diff --git a/apps/nsqlookupd/nsqlookupd.go b/apps/nsqlookupd/nsqlookupd.go index 1aed9a58b..ff1ecc160 100644 --- a/apps/nsqlookupd/nsqlookupd.go +++ b/apps/nsqlookupd/nsqlookupd.go @@ -21,6 +21,7 @@ func nsqlookupdFlagSet(opts *nsqlookupd.Options) *flag.FlagSet { flagSet.String("config", "", "path to config file") flagSet.Bool("version", false, "print version string") flagSet.Bool("verbose", false, "enable verbose logging") + flagSet.String("log-prefix", "[nsqlookupd] ", "log message prefix") flagSet.String("tcp-address", opts.TCPAddress, ": to listen on for TCP clients") flagSet.String("http-address", opts.HTTPAddress, ": to listen on for HTTP clients") diff --git a/nsqadmin/nsqadmin.go b/nsqadmin/nsqadmin.go index 120c88496..d91ee246b 100644 --- a/nsqadmin/nsqadmin.go +++ b/nsqadmin/nsqadmin.go @@ -7,6 +7,7 @@ import ( "encoding/json" "fmt" "io/ioutil" + "log" "net" "net/http" "net/url" @@ -30,6 +31,10 @@ type NSQAdmin struct { } func New(opts *Options) *NSQAdmin { + if opts.Logger == nil { + opts.Logger = log.New(os.Stderr, opts.LogPrefix, log.Ldate|log.Ltime|log.Lmicroseconds) + } + n := &NSQAdmin{ notifications: make(chan *AdminAction), } diff --git a/nsqadmin/options.go b/nsqadmin/options.go index 57bd8a922..e46361f27 100644 --- a/nsqadmin/options.go +++ b/nsqadmin/options.go @@ -1,12 +1,11 @@ package nsqadmin import ( - "log" - "os" "time" ) type Options struct { + LogPrefix string `flag:"log-prefix"` HTTPAddress string `flag:"http-address"` GraphiteURL string `flag:"graphite-url"` @@ -36,6 +35,7 @@ type Options struct { func NewOptions() *Options { return &Options{ + LogPrefix: "[nsqadmin] ", HTTPAddress: "0.0.0.0:4171", StatsdPrefix: "nsq.%s", StatsdCounterFormat: "stats.counters.%s.count", @@ -43,6 +43,5 @@ func NewOptions() *Options { StatsdInterval: 60 * time.Second, HTTPClientConnectTimeout: 2 * time.Second, HTTPClientRequestTimeout: 5 * time.Second, - Logger: log.New(os.Stderr, "[nsqadmin] ", log.Ldate|log.Ltime|log.Lmicroseconds), } } diff --git a/nsqd/nsqd.go b/nsqd/nsqd.go index 018332691..868592369 100644 --- a/nsqd/nsqd.go +++ b/nsqd/nsqd.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "io/ioutil" + "log" "math/rand" "net" "os" @@ -73,6 +74,9 @@ func New(opts *Options) *NSQD { cwd, _ := os.Getwd() dataPath = cwd } + if opts.Logger == nil { + opts.Logger = log.New(os.Stderr, opts.LogPrefix, log.Ldate|log.Ltime|log.Lmicroseconds) + } n := &NSQD{ startTime: time.Now(), diff --git a/nsqd/options.go b/nsqd/options.go index 6803a3a6b..bcce4252d 100644 --- a/nsqd/options.go +++ b/nsqd/options.go @@ -14,6 +14,7 @@ type Options struct { // basic options ID int64 `flag:"worker-id" cfg:"id"` Verbose bool `flag:"verbose"` + LogPrefix string `flag:"log-prefix"` TCPAddress string `flag:"tcp-address"` HTTPAddress string `flag:"http-address"` HTTPSAddress string `flag:"https-address"` @@ -87,7 +88,8 @@ func NewOptions() *Options { defaultID := int64(crc32.ChecksumIEEE(h.Sum(nil)) % 1024) return &Options{ - ID: defaultID, + ID: defaultID, + LogPrefix: "[nsqd] ", TCPAddress: "0.0.0.0:4150", HTTPAddress: "0.0.0.0:4151", @@ -134,7 +136,5 @@ func NewOptions() *Options { SnappyEnabled: true, TLSMinVersion: tls.VersionTLS10, - - Logger: log.New(os.Stderr, "[nsqd] ", log.Ldate|log.Ltime|log.Lmicroseconds), } } diff --git a/nsqlookupd/nsqlookupd.go b/nsqlookupd/nsqlookupd.go index 4ffe24369..f78f2fac8 100644 --- a/nsqlookupd/nsqlookupd.go +++ b/nsqlookupd/nsqlookupd.go @@ -2,6 +2,7 @@ package nsqlookupd import ( "fmt" + "log" "net" "os" "sync" @@ -22,6 +23,9 @@ type NSQLookupd struct { } func New(opts *Options) *NSQLookupd { + if opts.Logger == nil { + opts.Logger = log.New(os.Stderr, opts.LogPrefix, log.Ldate|log.Ltime|log.Lmicroseconds) + } n := &NSQLookupd{ opts: opts, DB: NewRegistrationDB(), diff --git a/nsqlookupd/options.go b/nsqlookupd/options.go index 730d02563..7fd87102a 100644 --- a/nsqlookupd/options.go +++ b/nsqlookupd/options.go @@ -7,7 +7,8 @@ import ( ) type Options struct { - Verbose bool `flag:"verbose"` + Verbose bool `flag:"verbose"` + LogPrefix string `flag:"log-prefix"` TCPAddress string `flag:"tcp-address"` HTTPAddress string `flag:"http-address"` @@ -26,13 +27,12 @@ func NewOptions() *Options { } return &Options{ + LogPrefix: "[nsqlookupd] ", TCPAddress: "0.0.0.0:4160", HTTPAddress: "0.0.0.0:4161", BroadcastAddress: hostname, InactiveProducerTimeout: 300 * time.Second, TombstoneLifetime: 45 * time.Second, - - Logger: log.New(os.Stderr, "[nsqlookupd] ", log.Ldate|log.Ltime|log.Lmicroseconds), } }