package logger
import "github.com/dotcloud/docker/daemon/logger"
Index ¶
- Constants
- Variables
- func RegisterLogDriver(name string, c Creator) error
- func RegisterLogOptValidator(name string, l LogOptValidator) error
- func ValidateLogOpts(name string, cfg map[string]string) error
- type Context
- type Copier
- func NewCopier(cid string, srcs map[string]io.Reader, dst Logger) (*Copier, error)
- func (c *Copier) Run()
- func (c *Copier) Wait()
- type Creator
- type LogOptValidator
- type LogReader
- type LogWatcher
- func NewLogWatcher() *LogWatcher
- func (w *LogWatcher) Close()
- func (w *LogWatcher) WatchClose() <-chan struct{}
- type Logger
- type Message
- type ReadConfig
Constants ¶
const ( // TimeFormat is the time format used for timestamps sent to log readers TimeFormat = timeutils.RFC3339NanoFixed )
Variables ¶
ErrReadLogsNotSupported is returned when the logger does not support reading logs
Functions ¶
func RegisterLogDriver ¶
RegisterLogDriver registers the given logging driver builder with given logging driver name.
func RegisterLogOptValidator ¶
func RegisterLogOptValidator(name string, l LogOptValidator) error
func ValidateLogOpts ¶
Types ¶
type Context ¶
type Context struct { Config map[string]string ContainerID string ContainerName string ContainerEntrypoint string ContainerArgs []string ContainerImageID string ContainerImageName string ContainerCreated time.Time LogPath string }
Context provides enough information for a logging driver to do its function
func (*Context) Command ¶
Command returns the command that the container being logged was started with
func (*Context) Hostname ¶
Hostname returns the hostname from the underlying OS
type Copier ¶
type Copier struct {
// contains filtered or unexported fields
}
Copier can copy logs from specified sources to Logger and attach ContainerID and Timestamp. Writes are concurrent, so you need implement some sync in your logger
func NewCopier ¶
NewCopier creates new 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
type Creator ¶
Creator is a method that builds a logging driver instance with given context
func GetLogDriver ¶
GetLogDriver provides the logging driver builder for a logging driver name.
type LogOptValidator ¶
LogOptValidator is a method that validates the log opts provided
type LogReader ¶
type LogReader interface { // Read logs from underlying logging backend ReadLogs(ReadConfig) *LogWatcher }
LogReader is the interface for reading log messages for loggers that support reading
type LogWatcher ¶
type LogWatcher struct { // For sending log messages to a reader Msg chan *Message // For sending error messages that occur while while reading logs Err chan error // contains filtered or unexported fields }
LogWatcher is used when consuming logs read from the LogReader interface
func NewLogWatcher ¶
func NewLogWatcher() *LogWatcher
NewLogWatcher returns a new LogWatcher.
func (*LogWatcher) Close ¶
func (w *LogWatcher) Close()
Close notifies the underlying log reader to stop
func (*LogWatcher) WatchClose ¶
func (w *LogWatcher) WatchClose() <-chan struct{}
WatchClose returns a channel receiver that receives notification when the watcher has been closed This should only be called from one goroutine
type Logger ¶
Logger is the interface for docker logging drivers
type Message ¶
Message is datastructure that represents record from some container
type ReadConfig ¶
ReadConfig is the configuration passed into ReadLogs
Source Files ¶
copier.go factory.go logger.go
Directories ¶
Path | Synopsis |
---|---|
daemon/logger/fluentd | |
daemon/logger/gelf | |
daemon/logger/journald | |
daemon/logger/jsonfilelog | |
daemon/logger/syslog |
- Version
- v1.8.1
- Published
- Aug 13, 2015
- Platform
- js/wasm
- Imports
- 11 packages
- Last checked
- 2 minutes ago –
Tools for package owners.