mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
Support --verbose logging
This commit is contained in:
parent
9a2aeac6f8
commit
d113ebe147
5 changed files with 31 additions and 5 deletions
|
|
@ -133,6 +133,7 @@ type Config struct {
|
|||
MaxWritesPerRequest int `toml:"max-writes-per-request"`
|
||||
|
||||
LogPath string `toml:"log-path"`
|
||||
Verbose bool `toml:"verbose"`
|
||||
|
||||
// TLS
|
||||
TLS TLSConfig
|
||||
|
|
@ -178,6 +179,7 @@ func NewConfig() *Config {
|
|||
Bind: ":" + DefaultPort,
|
||||
MaxWritesPerRequest: DefaultMaxWritesPerRequest,
|
||||
// LogPath: "",
|
||||
// Verbose: false,
|
||||
TLS: TLSConfig{},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ func BuildServerFlags(cmd *cobra.Command, srv *server.Command) {
|
|||
flags.StringVarP(&srv.Config.Bind, "bind", "b", srv.Config.Bind, "Default URI on which pilosa should listen.")
|
||||
flags.IntVarP(&srv.Config.MaxWritesPerRequest, "max-writes-per-request", "", srv.Config.MaxWritesPerRequest, "Number of write commands per request.")
|
||||
flags.StringVar(&srv.Config.LogPath, "log-path", srv.Config.LogPath, "Log path")
|
||||
flags.BoolVar(&srv.Config.Verbose, "verbose", srv.Config.Verbose, "Verbose logging")
|
||||
|
||||
// TLS
|
||||
SetTLSConfig(flags, &srv.Config.TLS.CertificatePath, &srv.Config.TLS.CertificateKeyPath, &srv.Config.TLS.SkipVerify)
|
||||
|
|
|
|||
|
|
@ -147,8 +147,10 @@ type gossipConfig struct {
|
|||
memberlistConfig *memberlist.Config
|
||||
}
|
||||
|
||||
// GossipMemberSetOption describes a functional option for GossipMemberSet.
|
||||
type GossipMemberSetOption func(*GossipMemberSet) error
|
||||
|
||||
// WithTransport is a functional option for providing a transport to NewGossipMemberSet.
|
||||
func WithTransport(transport *Transport) func(*GossipMemberSet) error {
|
||||
return func(g *GossipMemberSet) error {
|
||||
g.transport = transport
|
||||
|
|
@ -156,6 +158,7 @@ func WithTransport(transport *Transport) func(*GossipMemberSet) error {
|
|||
}
|
||||
}
|
||||
|
||||
// WithLogger is a functional option for providing a logger to NewGossipMemberSet.
|
||||
func WithLogger(logger *log.Logger) func(*GossipMemberSet) error {
|
||||
return func(g *GossipMemberSet) error {
|
||||
g.logger = logger
|
||||
|
|
|
|||
24
logger.go
24
logger.go
|
|
@ -58,12 +58,28 @@ func NewStandardLogger(logger *log.Logger) *StandardLogger {
|
|||
}
|
||||
}
|
||||
|
||||
// Printf is a no-op implementation of the Logger Printf method.
|
||||
func (s *StandardLogger) Printf(format string, v ...interface{}) {
|
||||
s.logger.Printf(format, v...)
|
||||
}
|
||||
|
||||
// Debugf is a no-op implementation of the Logger Debugf method.
|
||||
func (s *StandardLogger) Debugf(format string, v ...interface{}) {
|
||||
// TODO: implement this
|
||||
func (s *StandardLogger) Debugf(format string, v ...interface{}) {}
|
||||
|
||||
// VerboseLogger is an implementation of pilosa.Logger which includes debug messages.
|
||||
type VerboseLogger struct {
|
||||
logger *log.Logger
|
||||
}
|
||||
|
||||
func NewVerboseLogger(logger *log.Logger) *VerboseLogger {
|
||||
return &VerboseLogger{
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
func (vb *VerboseLogger) Printf(format string, v ...interface{}) {
|
||||
vb.logger.Printf(format, v...)
|
||||
}
|
||||
|
||||
func (vb *VerboseLogger) Debugf(format string, v ...interface{}) {
|
||||
vb.logger.Printf("VERBOSE...")
|
||||
vb.logger.Printf(format, v...)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,11 @@ func (m *Command) SetupServer() error {
|
|||
}
|
||||
m.Server.LogOutput = lw
|
||||
m.logger = log.New(lw, "", log.LstdFlags)
|
||||
m.Server.Logger = pilosa.NewStandardLogger(m.logger)
|
||||
if m.Config.Verbose {
|
||||
m.Server.Logger = pilosa.NewVerboseLogger(m.logger)
|
||||
} else {
|
||||
m.Server.Logger = pilosa.NewStandardLogger(m.logger)
|
||||
}
|
||||
m.Server.Handler.Logger = m.Server.Logger
|
||||
m.Server.Holder.Logger = m.Server.Logger
|
||||
m.Server.Holder.Stats.SetLogger(m.Server.Logger)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue