Skip to content

Commit

Permalink
move buildFmter into streamlog.GetFormatter
Browse files Browse the repository at this point in the history
  • Loading branch information
demmer committed Dec 21, 2017
1 parent 405795b commit 84d193b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 17 deletions.
19 changes: 19 additions & 0 deletions go/streamlog/streamlog.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ limitations under the License.
package streamlog

import (
"fmt"
"io"
"net/http"
"net/url"
Expand Down Expand Up @@ -121,3 +122,21 @@ func (logger *StreamLogger) ServeLogs(url string, messageFmt func(url.Values, in
})
log.Infof("Streaming logs from %s at %v.", logger.Name(), url)
}

// Formatter is a simple interface for objects that expose a Format function
// as needed for streamlog.
type Formatter interface {
Format(url.Values) string
}

// GetFormatter returns a formatter function for objects conforming to the
// Formatter interface
func GetFormatter(logger *StreamLogger) func(url.Values, interface{}) string {
return func(params url.Values, val interface{}) string {
fmter, ok := val.(Formatter)
if !ok {
return fmt.Sprintf("Error: unexpected value of type %T in %s!", val, logger.Name())
}
return fmter.Format(params)
}
}
19 changes: 2 additions & 17 deletions go/vt/vttablet/tabletserver/tabletenv/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"errors"
"flag"
"fmt"
"net/url"
"time"

"github.com/golang/protobuf/proto"
Expand Down Expand Up @@ -94,11 +93,11 @@ func init() {
// Init must be called after flag.Parse, and before doing any other operations.
func Init() {
if *queryLogHandler != "" {
StatsLogger.ServeLogs(*queryLogHandler, buildFmter(StatsLogger))
StatsLogger.ServeLogs(*queryLogHandler, streamlog.GetFormatter(StatsLogger))
}

if *txLogHandler != "" {
TxLogger.ServeLogs(*txLogHandler, buildFmter(TxLogger))
TxLogger.ServeLogs(*txLogHandler, streamlog.GetFormatter(TxLogger))
}
}

Expand Down Expand Up @@ -239,17 +238,3 @@ func VerifyConfig() error {
}
return nil
}

func buildFmter(logger *streamlog.StreamLogger) func(url.Values, interface{}) string {
type formatter interface {
Format(url.Values) string
}

return func(params url.Values, val interface{}) string {
fmter, ok := val.(formatter)
if !ok {
return fmt.Sprintf("Error: unexpected value of type %T in %s!", val, logger.Name())
}
return fmter.Format(params)
}
}

0 comments on commit 84d193b

Please sign in to comment.