syslog

package
v0.0.0-...-0ad2128 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2018 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExponentialDuration

func ExponentialDuration(attempt int) time.Duration

ExponentialDuration returns a duration that grows exponentially with each attempt. It is maxed out at 15 seconds.

func NewVisitor

func NewVisitor(w Writer, metrics metrics) logcache.Visitor

Types

type DialFunc

type DialFunc func(addr string) (net.Conn, error)

DialFunc represents a method for creating a connection, either TCP or TLS.

type HTTPSWriter

type HTTPSWriter struct {
	// contains filtered or unexported fields
}

func (*HTTPSWriter) Close

func (*HTTPSWriter) Close() error

func (*HTTPSWriter) Write

func (w *HTTPSWriter) Write(env *loggregator_v2.Envelope) error

type LogClient

type LogClient interface {
	EmitLog(message string, opts ...loggregator.EmitLogOption)
}

type NetworkConfig

type NetworkConfig struct {
	Keepalive      time.Duration
	DialTimeout    time.Duration
	WriteTimeout   time.Duration
	SkipCertVerify bool
}

NetworkTimeoutConfig stores various timeout values.

type RetryDuration

type RetryDuration func(attempt int) time.Duration

RetryDuration calculates a duration based on the number of write attempts.

type RetryWriter

type RetryWriter struct {
	// contains filtered or unexported fields
}

RetryWriter wraps a WriteCloser and will retry writes if the first fails.

func (*RetryWriter) Close

func (r *RetryWriter) Close() error

Close delegates to the syslog writer.

func (*RetryWriter) Write

Write will retry writes unitl maxRetries has been reached.

type TCPWriter

type TCPWriter struct {
	// contains filtered or unexported fields
}

TCPWriter represents a syslog writer that connects over unencrypted TCP. This writer is not meant to be used from multiple goroutines. The same goroutine that calls `.Write()` should be the one that calls `.Close()`.

func (*TCPWriter) Close

func (w *TCPWriter) Close() error

Close tears down any active connections to the drain and prevents reconnect.

func (*TCPWriter) Write

func (w *TCPWriter) Write(env *loggregator_v2.Envelope) error

Write writes an envelope to the syslog drain connection.

type URLBinding

type URLBinding struct {
	Context  context.Context
	Hostname string
	URL      *url.URL
}

application is identified by AppID and Hostname. The syslog URL is identified by URL.

func (*URLBinding) Scheme

func (u *URLBinding) Scheme() string

Scheme is a convenience wrapper around the *url.URL Scheme field

type WriteCloser

type WriteCloser interface {
	Writer
	io.Closer
}

WriteCloser is the interface for all syslog writers.

func NewHTTPSWriter

func NewHTTPSWriter(
	binding *URLBinding,
	netConf NetworkConfig,
) WriteCloser

func NewTCPWriter

func NewTCPWriter(
	binding *URLBinding,
	netConf NetworkConfig,
) WriteCloser

NewTCPWriter creates a new TCP syslog writer.

func NewWriter

func NewWriter(sourceHost string, url *url.URL, netConf NetworkConfig) WriteCloser

type Writer

type Writer interface {
	Write(*loggregator_v2.Envelope) error
}

Write is the interface for all diode writers.

type WriterConstructor

type WriterConstructor func(
	binding *URLBinding,
	netConf NetworkConfig,
) WriteCloser

func RetryWrapper

func RetryWrapper(
	wc WriterConstructor,
	r RetryDuration,
	maxRetries int,
	logClient LogClient,
	sourceIndex string,
) WriterConstructor

RetryWrapper wraps a WriterConstructer, allowing it to retry writes.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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