Documentation ¶
Overview ¶
Package logtail sends logs to log.tailscale.io.
Index ¶
- Constants
- func Disable()
- type Buffer
- type Config
- type Encoder
- type Logger
- func (l *Logger) Close()deprecated
- func (l *Logger) Flush() error
- func (l *Logger) Logf(format string, args ...any)
- func (l *Logger) PrivateID() PrivateID
- func (l *Logger) SetLinkMonitor(lm *monitor.Mon)
- func (l *Logger) SetVerbosityLevel(level int)
- func (l *Logger) Shutdown(ctx context.Context) error
- func (l *Logger) Write(buf []byte) (int, error)
- type PrivateIDdeprecated
- type PublicIDdeprecated
Constants ¶
const ( // CollectionNode is the name of a logtail Config.Collection // for tailscaled (or equivalent: IPNExtension, Android app). CollectionNode = "tailnode.log.tailscale.io" )
const DefaultHost = "log.tailscale.io"
DefaultHost is the default host name to upload logs to when Config.BaseURL isn't provided.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Buffer ¶
type Buffer interface { // TryReadLine tries to read a log line from the ring buffer. // If no line is available it returns a nil slice. // If the ring buffer is closed it returns io.EOF. // // The returned slice may point to data that will be overwritten // by a subsequent call to TryReadLine. TryReadLine() ([]byte, error) // Write writes a log line into the ring buffer. // // Write takes ownership of the provided slice. Write([]byte) (int, error) }
func NewMemoryBuffer ¶
type Config ¶
type Config struct { Collection string // collection name, a domain name PrivateID PrivateID // private ID for the primary log stream CopyPrivateID PrivateID // private ID for a log stream that is a superset of this log stream BaseURL string // if empty defaults to "https://log.tailscale.io" HTTPC *http.Client // if empty defaults to http.DefaultClient SkipClientTime bool // if true, client_time is not written to logs LowMemory bool // if true, logtail minimizes memory use TimeNow func() time.Time // if set, substitutes uses of time.Now Stderr io.Writer // if set, logs are sent here instead of os.Stderr StderrLevel int // max verbosity level to write to stderr; 0 means the non-verbose messages only Buffer Buffer // temp storage, if nil a MemoryBuffer NewZstdEncoder func() Encoder // if set, used to compress logs for transmission // MetricsDelta, if non-nil, is a func that returns an encoding // delta in clientmetrics to upload alongside existing logs. // It can return either an empty string (for nothing) or a string // that's safe to embed in a JSON string literal without further escaping. MetricsDelta func() string // FlushDelay is how long to wait to accumulate logs before // uploading them. // // If zero, a default value is used. (currently 2 seconds) // // Negative means to upload immediately. FlushDelay time.Duration // IncludeProcID, if true, results in an ephemeral process identifier being // included in logs. The ID is random and not guaranteed to be globally // unique, but it can be used to distinguish between different instances // running with same PrivateID. IncludeProcID bool // IncludeProcSequence, if true, results in an ephemeral sequence number // being included in the logs. The sequence number is incremented for each // log message sent, but is not persisted across process restarts. IncludeProcSequence bool }
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger writes logs, splitting them as configured between local logging facilities and uploading to a log server.
func (*Logger) Flush ¶
Flush uploads all logs to the server. It blocks until complete or there is an unrecoverable error.
func (*Logger) Logf ¶ added in v1.20.0
Logf logs to l using the provided fmt-style format and optional arguments.
func (*Logger) PrivateID ¶ added in v1.24.0
PrivateID returns the logger's private log ID.
It exists for internal use only.
func (*Logger) SetLinkMonitor ¶ added in v1.6.0
SetLinkMonitor sets the optional the link monitor.
It should not be changed concurrently with log writes and should only be set once.
func (*Logger) SetVerbosityLevel ¶ added in v1.4.0
SetVerbosityLevel controls the verbosity level that should be written to stderr. 0 is the default (not verbose). Levels 1 or higher are increasingly verbose.
type PrivateID
deprecated
Deprecated: Use "tailscale.com/types/logid".PrivateID instead.
func NewPrivateID
deprecated
func ParsePrivateID
deprecated
added in
v0.98.0
Directories ¶
Path | Synopsis |
---|---|
Package backoff provides a back-off timer type.
|
Package backoff provides a back-off timer type. |
example
|
|
logreprocess
The logreprocess program tails a log and reprocesses it.
|
The logreprocess program tails a log and reprocesses it. |
logtail
The logtail program logs stdin.
|
The logtail program logs stdin. |
Package filch is a file system queue that pilfers your stderr.
|
Package filch is a file system queue that pilfers your stderr. |