Documentation ¶
Index ¶
- func ExponentialDuration(attempt int) time.Duration
- func NewVisitor(w Writer, metrics metrics, log *log.Logger) logcache.Visitor
- type DialFunc
- type HTTPSWriter
- type LogClient
- type NetworkConfig
- type RetryDuration
- type RetryWriter
- type TCPWriter
- type TLSWriter
- type URLBinding
- type WriteCloser
- func NewHTTPSWriter(binding *URLBinding, netConf NetworkConfig) WriteCloser
- func NewTCPWriter(binding *URLBinding, netConf NetworkConfig) WriteCloser
- func NewTLSWriter(binding *URLBinding, netConf NetworkConfig) WriteCloser
- func NewWriter(sourceHost string, url *url.URL, netConf NetworkConfig, log *log.Logger) WriteCloser
- type Writer
- type WriterConstructor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExponentialDuration ¶
ExponentialDuration returns a duration that grows exponentially with each attempt. It is maxed out at 15 seconds.
Types ¶
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 ¶
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 ¶
func (r *RetryWriter) Write(e *loggregator_v2.Envelope) error
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()`.
type TLSWriter ¶
type TLSWriter struct {
TCPWriter
}
TLSWriter represents a syslog writer that connects over unencrypted TCP.
type URLBinding ¶
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 ¶
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 NewTLSWriter ¶
func NewTLSWriter( binding *URLBinding, netConf NetworkConfig, ) WriteCloser
func NewWriter ¶
func NewWriter(sourceHost string, url *url.URL, netConf NetworkConfig, log *log.Logger) 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.