Movatterモバイル変換


[0]ホーム

URL:


logger

package
v28.5.2+incompatibleLatest Latest
Warning

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

Go to latest
Published: Nov 5, 2025 License:Apache-2.0Imports:27Imported by:0

Details

Repository

github.com/moby/moby

Links

Documentation

Overview

Package logger defines interfaces that logger drivers implement tolog messages.

The other half of a logger driver is the implementation of thefactory, which holds the contextual instance information thatallows multiple loggers of the same type to perform differentactions, such as logging to different locations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

funcAddBuiltinLogOpts

func AddBuiltinLogOpts(opts map[string]bool)

AddBuiltinLogOpts updates the list of built-in log opts. This allows other packages to supplement additional log optionswithout having to register an actual log driver. This is used by things that are more proxy log drivers and shouldnot be exposed as a usable log driver to the API.This should only be called on package initialization.

funcListDrivers

func ListDrivers() []string

ListDrivers gets the list of registered log driver names

funcPutMessage

func PutMessage(msg *Message)

PutMessage puts the specified message back n the message pool.The message fields are reset before putting into the pool.

funcRegisterExternalValidator

func RegisterExternalValidator(vLogOptValidator)

RegisterExternalValidator adds the validator to the list of external validators.External validators are used by packages outside this package that need to add their own validation logic.This should only be called on package initialization.

funcRegisterLogDriveradded inv1.7.0

func RegisterLogDriver(namestring, cCreator)error

RegisterLogDriver registers the given logging driver builder with given loggingdriver name.

funcRegisterLogOptValidatoradded inv1.8.0

func RegisterLogOptValidator(namestring, lLogOptValidator)error

RegisterLogOptValidator registers the logging option validator withthe given logging driver name.

funcRegisterPluginGetter

func RegisterPluginGetter(gplugingetter.PluginGetter)

RegisterPluginGetter sets the plugingetter

funcValidateLogOptsadded inv1.8.0

func ValidateLogOpts(namestring, cfg map[string]string)error

ValidateLogOpts checks the options for the given log driver. Theoptions supported are specific to the LogDriver implementation.

Types

typeCapability

type Capability struct {// Determines if a log driver can read back logsReadLogsbool}

Capability defines the list of capabilities that a driver can implementThese capabilities are not required to be a logging driver, however dodetermine how a logging driver can be used

typeCopier

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

Copier can copy logs from specified sources to Logger and attach Timestamp.Writes are concurrent, so you need implement some sync in your logger.

funcNewCopier

func NewCopier(srcs map[string]io.Reader, dstLogger) *Copier

NewCopier creates a new Copier

func (*Copier)Closeadded inv1.10.0

func (c *Copier) Close()

Close closes the copier

func (*Copier)Run

func (c *Copier) Run()

Run starts logs copying

func (*Copier)Wait

func (c *Copier) Wait()

Wait waits until all copying is done

typeCreatoradded inv1.7.0

type Creator func(Info) (Logger,error)

Creator builds a logging driver instance with given context.

funcGetLogDriveradded inv1.7.0

func GetLogDriver(namestring) (Creator,error)

GetLogDriver provides the logging driver builder for a logging driver name.

typeErrReadLogsNotSupportedadded inv1.8.0

type ErrReadLogsNotSupported struct{}

ErrReadLogsNotSupported is returned when the underlying log driver does not support reading

func (ErrReadLogsNotSupported)Error

func (ErrReadLogsNotSupported)NotImplemented

func (ErrReadLogsNotSupported) NotImplemented()

NotImplemented makes this error implement the `NotImplemented` interface from api/errdefs

typeInfo

type Info struct {Config              map[string]stringContainerIDstringContainerNamestringContainerEntrypointstringContainerArgs       []stringContainerImageIDstringContainerImageNamestringContainerCreatedtime.TimeContainerEnv        []stringContainerLabels     map[string]stringLogPathstringDaemonNamestring}

Info provides enough information for a logging driver to do its function.

func (*Info)Command

func (info *Info) Command()string

Command returns the command that the container being logged wasstarted with. The Entrypoint is prepended to the containerarguments.

func (*Info)ExtraAttributes

func (info *Info) ExtraAttributes(keyMod func(string)string) (map[string]string,error)

ExtraAttributes returns the user-defined extra attributes (labels,environment variables) in key-value format. This can be used by log driversthat support metadata to add more context to a log.

func (*Info)FullID

func (info *Info) FullID()string

FullID is an alias of ContainerID.

func (*Info)Hostname

func (info *Info) Hostname() (string,error)

Hostname returns the hostname from the underlying OS.

func (*Info)ID

func (info *Info) ID()string

ID Returns the Container ID shortened to 12 characters.

func (*Info)ImageFullID

func (info *Info) ImageFullID()string

ImageFullID is an alias of ContainerImageID.

func (*Info)ImageID

func (info *Info) ImageID()string

ImageID returns the ContainerImageID shortened to 12 characters.

func (*Info)ImageName

func (info *Info) ImageName()string

ImageName is an alias of ContainerImageName

func (*Info)Name

func (info *Info) Name()string

Name returns the ContainerName without a preceding '/'.

typeLogOptValidatoradded inv1.8.0

type LogOptValidator func(cfg map[string]string)error

LogOptValidator checks the options specific to the underlyinglogging implementation.

typeLogReaderadded inv1.8.0

type LogReader interface {// ReadLogs reads logs from underlying logging backend.ReadLogs(context.Context,ReadConfig) *LogWatcher}

LogReader is the interface for reading log messages for loggers that support reading.

typeLogWatcheradded inv1.8.0

type LogWatcher struct {// For sending log messages to a reader.Msg chan *Message// For sending error messages that occur while reading logs.Err chanerror// contains filtered or unexported fields}

LogWatcher is used when consuming logs read from the LogReader interface.

funcNewLogWatcheradded inv1.8.0

func NewLogWatcher() *LogWatcher

NewLogWatcher returns a new LogWatcher.

func (*LogWatcher)ConsumerGone

func (w *LogWatcher) ConsumerGone()

ConsumerGone notifies that the logs consumer is gone.

func (*LogWatcher)WatchConsumerGone

func (w *LogWatcher) WatchConsumerGone() <-chan struct{}

WatchConsumerGone returns a channel receiver that receives notificationwhen the log watcher consumer is gone.

typeLogger

type Logger interface {Log(*Message)errorName()stringClose()error}

Logger is the interface for docker logging drivers.

funcNewRingLogger

func NewRingLogger(driverLogger, logInfoInfo, maxSizeint64)Logger

NewRingLogger creates a new Logger that is implemented as a RingBuffer wrappingthe passed in logger.

typeMessage

type Messagebackend.LogMessage

Message is data structure that represents piece of output produced by somecontainer. The Line member is a slice of an array whose contents can bechanged after a log driver's Log() method returns.

Message is subtyped from backend.LogMessage because there is a lot ofinternal complexity around the Message type that should not be exposedto any package not explicitly importing the logger type.

funcNewMessage

func NewMessage() *Message

NewMessage returns a new message from the message sync.Pool

func (*Message)AsLogMessage

func (m *Message) AsLogMessage() *backend.LogMessage

AsLogMessage returns a pointer to the message as a pointer tobackend.LogMessage, which is an identical type with a different purpose

typeReadConfigadded inv1.8.0

type ReadConfig struct {Sincetime.TimeUntiltime.TimeTailintFollowbool}

ReadConfig is the configuration passed into ReadLogs.

typeSizedLogger

type SizedLogger interface {LoggerBufSize()int}

SizedLogger is the interface for logging drivers that can controlthe size of buffer used for their messages.

Source Files

View all Source files

Directories

PathSynopsis
Package awslogs provides the logdriver for forwarding container logs to Amazon CloudWatch Logs
Package awslogs provides the logdriver for forwarding container logs to Amazon CloudWatch Logs
Package etwlogs provides a log driver for forwarding container logs as ETW events.(ETW stands for Event Tracing for Windows) A client can then create an ETW listener to listen for events that are sent by the ETW provider that we register, using the provider's GUID "a3693192-9ed6-46d2-a981-f8226c8363bd".
Package etwlogs provides a log driver for forwarding container logs as ETW events.(ETW stands for Event Tracing for Windows) A client can then create an ETW listener to listen for events that are sent by the ETW provider that we register, using the provider's GUID "a3693192-9ed6-46d2-a981-f8226c8363bd".
Package fluentd provides the log driver for forwarding server logs to fluentd endpoints.
Package fluentd provides the log driver for forwarding server logs to fluentd endpoints.
Package gelf provides the log driver for forwarding server logs to endpoints that support the Graylog Extended Log Format.
Package gelf provides the log driver for forwarding server logs to endpoints that support the Graylog Extended Log Format.
Package journald provides the log driver for forwarding server logs to endpoints that receive the systemd format.
Package journald provides the log driver for forwarding server logs to endpoints that receive the systemd format.
internal/export
Package export implements a serializer for the systemd Journal Export Format as documented at https://systemd.io/JOURNAL_EXPORT_FORMATS/
Package export implements a serializer for the systemd Journal Export Format as documented at https://systemd.io/JOURNAL_EXPORT_FORMATS/
internal/fake
Package fake implements a journal writer for testing which is decoupled from the system's journald.
Package fake implements a journal writer for testing which is decoupled from the system's journald.
internal/sdjournal
Package sdjournal provides a Go interface to the systemd journal read API by wrapping the libsystemd C library.
Package sdjournal provides a Go interface to the systemd journal read API by wrapping the libsystemd C library.
Package jsonfilelog provides the default Logger implementation for Docker logging.
Package jsonfilelog provides the default Logger implementation for Docker logging.
Package local provides a logger implementation that stores logs on disk.
Package local provides a logger implementation that stores logs on disk.
Package splunk provides the log driver for forwarding server logs to Splunk HTTP Event Collector endpoint.
Package splunk provides the log driver for forwarding server logs to Splunk HTTP Event Collector endpoint.
Package syslog provides the logdriver for forwarding server logs to syslog endpoints.
Package syslog provides the logdriver for forwarding server logs to syslog endpoints.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp