types/logger: add WithPrefix, use it in two places

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/103/head
Brad Fitzpatrick 5 years ago
parent 758744a4e3
commit 3988ddc85d

@ -169,11 +169,8 @@ func Run(rctx context.Context, logf logger.Logf, logid string, opts Options, e w
oldS = s oldS = s
go func(ctx context.Context, bs *ipn.BackendServer, s net.Conn, i int) { go func(ctx context.Context, bs *ipn.BackendServer, s net.Conn, i int) {
// TODO: move this prefixing-Logf code into a new helper in types/logger? logf := logger.WithPrefix(logf, fmt.Sprintf("%d: ", i))
si := fmt.Sprintf("%d: ", i) pump(logf, ctx, bs, s)
pump(func(fmt string, args ...interface{}) {
logf(si+fmt, args...)
}, ctx, bs, s)
if !opts.SurviveDisconnects || bs.GotQuit { if !opts.SurviveDisconnects || bs.GotQuit {
bs.Reset() bs.Reset()
s.Close() s.Close()

@ -174,9 +174,7 @@ func (b *LocalBackend) Start(opts Options) error {
persist = &controlclient.Persist{} persist = &controlclient.Persist{}
} }
cli, err := controlclient.New(controlclient.Options{ cli, err := controlclient.New(controlclient.Options{
Logf: func(fmt string, args ...interface{}) { Logf: logger.WithPrefix(b.logf, "control: "),
b.logf("control: "+fmt, args...)
},
Persist: *persist, Persist: *persist,
ServerURL: b.serverURL, ServerURL: b.serverURL,
Hostinfo: hi, Hostinfo: hi,

@ -7,4 +7,12 @@
// types around. // types around.
package logger package logger
type Logf func(fmt string, args ...interface{}) // Logf is the basic Tailscale logger type: a printf-like func.
type Logf func(format string, args ...interface{})
// WithPrefix wraps f, prefixing each format with the provided prefix.
func WithPrefix(f Logf, prefix string) Logf {
return func(format string, args ...interface{}) {
f(prefix+format, args...)
}
}

Loading…
Cancel
Save