logger

package
v0.100.0-153 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2020 License: BSD-3-Clause Imports: 11 Imported by: 229

Documentation

Overview

Package logger defines a type for writing to logs. It's just a convenience type so that we don't have to pass verbose func(...) types around.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Discard added in v0.98.0

func Discard(string, ...interface{})

Discard is a Logf that throws away the logs given to it.

func FuncWriter

func FuncWriter(f Logf) io.Writer

FuncWriter returns an io.Writer that writes to f.

func StdLogger

func StdLogger(f Logf) *log.Logger

StdLogger returns a standard library logger from a Logf.

Types

type ArgWriter added in v0.98.1

type ArgWriter func(*bufio.Writer)

ArgWriter is a fmt.Formatter that can be passed to any Logf func to efficiently write to a %v argument without allocations.

func (ArgWriter) Format added in v0.98.1

func (fn ArgWriter) Format(f fmt.State, _ rune)

type Logf

type Logf func(format string, args ...interface{})

Logf is the basic Tailscale logger type: a printf-like func. Like log.Printf, the format need not end in a newline. Logf functions must be safe for concurrent use.

func LogOnChange added in v0.98.1

func LogOnChange(logf Logf, maxInterval time.Duration, timeNow func() time.Time) Logf

LogOnChange logs a given line only if line != lastLine, or if maxInterval has passed since the last time this identical line was logged.

func RateLimitedFn added in v0.98.1

func RateLimitedFn(logf Logf, f time.Duration, burst int, maxCache int) Logf

RateLimitedFn returns a rate-limiting Logf wrapping the given logf. Messages are allowed through at a maximum of one message every f (where f is a time.Duration), in bursts of up to burst messages at a time. Up to maxCache strings will be held at a time.

func WithPrefix

func WithPrefix(f Logf, prefix string) Logf

WithPrefix wraps f, prefixing each format with the provided prefix.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL