# README
go-loggregator
This is a golang client library for Loggregator.
Versions
At present, Loggregator supports two API versions: v1 (UDP) and v2 (gRPC). This library provides clients for both versions.
Note that this library is also versioned. Its versions have no relation to the Loggregator API.
Usage
This repository should be imported as:
import loggregator "code.cloudfoundry.org/go-loggregator"
Example
Example implementation of the client is provided in examples/main.go
.
Build the example client by running go build -o client main.go
Collocate the client
with a metron agent and set the following environment
variables: CA_CERT_PATH
, CERT_PATH
, KEY_PATH
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
v1 provides a client to connect with the loggregtor v1 API
Loggregator's v1 client library is better known to the Cloud Foundry community as Dropsonde (github.com/cloudfoundry/dropsonde).
# Functions
NewEgressTLSConfig provides a convenient means for creating a *tls.Config which uses the CA, cert, and key for the egress endpoint.
NewEnvelopeStream creates a new EnvelopeStreamConnector.
NewIngressClient creates a v2 loggregator client.
NewIngressTLSConfig provides a convenient means for creating a *tls.Config which uses the CA, cert, and key for the ingress endpoint.
WithAddr allows for the configuration of the loggregator v2 address.
WithAppInfo configures the meta data associated with emitted data.
WithBatchFlushInterval allows for the configuration of the maximum time to wait before sending a batch of messages.
WithBatchMaxSize allows for the configuration of the number of messages to collect before emitting them into loggregator.
WithDelta is an option that sets the delta for a counter.
WithEnvelopeStreamBalancer sets the balancer for connecting to Loggregator endpoints.
WithEnvelopeStreamLogger allows for the configuration of a logger.
WithEnvelopeTag adds a tag to the envelope.
WithEnvelopeTags adds tag information that can be text, integer, or decimal to the envelope.
WithGaugeAppInfo configures an envelope with both the app ID and index.
WithGaugeValue adds a gauge information.
WithLogger allows for the configuration of a logger.
WithStdout sets the output type to stdout.
WithTag allows for the configuration of arbitrary string value metadata which will be included in all data sent to Loggregator.
# Structs
EnvelopeStreamConnector provides a way to connect to loggregator and consume a stream of envelopes.
IngressClient represents an emitter into loggregator.
# Interfaces
Logger declares the minimal logging interface used within the v2 client.
# Type aliases
EmitCounterOption is the option type passed into EmitCounter.
EmitEventOption is the option type passed into EmitEvent.
EmitGaugeOption is the option type passed into EmitGauge.
EmitLogOption is the option type passed into EmitLog.
EnvelopeStream returns batches of envelopes.
EnvelopeStreamOption configures a EnvelopeStreamConnector.
IngressOption is the type of a configurable client option.