Documentation
¶
Index ¶
- Constants
- Variables
- func Drivers() []string
- func FetchLogs(stdout, stderr io.Writer, journalctlArgs []string, stopChannel chan os.Signal) error
- func FluentdLogOptsValidate(logOptMap map[string]string) error
- func JSONFileLogOptsValidate(logOptMap map[string]string) error
- func JournalLogOptsValidate(logOptMap map[string]string) error
- func LogConfigFilePath(dataStore, ns, id string) string
- func Main(argv2 string) error
- func RegisterDriver(name string, f DriverFactory, validateFunc LogOpsValidateFunc)
- func RegisterLogViewer(driverName string, lvfn LogViewerFunc)
- func SyslogOptsValidate(logOptMap map[string]string) error
- func ValidateFluentdLoggerOpts(config map[string]string) error
- func ValidateLogOpts(logDriver string, logOpts map[string]string) error
- type ContainerLogViewer
- type Driver
- type DriverFactory
- type FluentdLogger
- type JSONLogger
- type JournaldLogger
- func (journaldLogger *JournaldLogger) Init(dataStore, ns, id string) error
- func (journaldLogger *JournaldLogger) PostProcess() error
- func (journaldLogger *JournaldLogger) PreProcess(dataStore string, config *logging.Config) error
- func (journaldLogger *JournaldLogger) Process(stdout <-chan string, stderr <-chan string) error
- type LogConfig
- type LogOpsValidateFunc
- type LogViewOptions
- type LogViewerFunc
- type SyslogLogger
Constants ¶
const ( // MagicArgv1 is the magic argv1 for the containerd runtime v2 logging plugin mode. MagicArgv1 = "_NERDCTL_INTERNAL_LOGGING" LogPath = "log-path" MaxSize = "max-size" MaxFile = "max-file" Tag = "tag" )
Variables ¶
var FluentdLogOpts = []string{ fluentAddress, fluentdAsync, fluentdBufferLimit, fluentdRetryWait, fluentdMaxRetries, fluentdSubSecondPrecision, fluentdAsyncReconnectInterval, fluentRequestAck, Tag, }
var JSONDriverLogOpts = []string{ LogPath, MaxSize, MaxFile, }
var JournalDriverLogOpts = []string{ Tag, }
Functions ¶
func FetchLogs ¶ added in v0.21.0
Exec's `journalctl` with the provided arguments and hooks it up to the given stdout/stderr streams.
func FluentdLogOptsValidate ¶ added in v0.22.1
func JSONFileLogOptsValidate ¶ added in v0.22.1
func JournalLogOptsValidate ¶ added in v0.22.1
func LogConfigFilePath ¶ added in v0.20.0
LogConfigFilePath returns the path of log-config.json
func Main ¶
Main is the entrypoint for the containerd runtime v2 logging plugin mode.
Should be called only if argv1 == MagicArgv1.
func RegisterDriver ¶ added in v0.21.0
func RegisterDriver(name string, f DriverFactory, validateFunc LogOpsValidateFunc)
func RegisterLogViewer ¶ added in v1.1.0
func RegisterLogViewer(driverName string, lvfn LogViewerFunc)
Registers a LogViewerFunc for the
func SyslogOptsValidate ¶ added in v1.0.0
func ValidateFluentdLoggerOpts ¶ added in v0.21.0
Types ¶
type ContainerLogViewer ¶ added in v1.1.0
type ContainerLogViewer struct {
// contains filtered or unexported fields
}
Implements functionality for loading the logging configuration and fetching/outputting container logs based on its internal LogViewOptions.
func InitContainerLogViewer ¶ added in v1.1.0
func InitContainerLogViewer(lvopts LogViewOptions, stopChannel chan os.Signal) (*ContainerLogViewer, error)
Validates the given LogViewOptions, loads the logging config for the given container and returns a ContainerLogViewer.
func (*ContainerLogViewer) PrintLogsTo ¶ added in v1.1.0
func (lv *ContainerLogViewer) PrintLogsTo(stdout, stderr io.Writer) error
Prints all logs for this LogViewer's containers to the provided io.Writers.
type Driver ¶ added in v0.21.0
type FluentdLogger ¶ added in v0.21.0
func (*FluentdLogger) Init ¶ added in v0.21.0
func (f *FluentdLogger) Init(dataStore, ns, id string) error
func (*FluentdLogger) PostProcess ¶ added in v1.1.0
func (f *FluentdLogger) PostProcess() error
func (*FluentdLogger) PreProcess ¶ added in v1.1.0
func (f *FluentdLogger) PreProcess(_ string, config *logging.Config) error
type JSONLogger ¶ added in v0.22.0
func (*JSONLogger) Init ¶ added in v0.22.0
func (jsonLogger *JSONLogger) Init(dataStore, ns, id string) error
func (*JSONLogger) PostProcess ¶ added in v1.1.0
func (jsonLogger *JSONLogger) PostProcess() error
func (*JSONLogger) PreProcess ¶ added in v1.1.0
func (jsonLogger *JSONLogger) PreProcess(dataStore string, config *logging.Config) error
type JournaldLogger ¶ added in v0.21.0
func (*JournaldLogger) Init ¶ added in v0.21.0
func (journaldLogger *JournaldLogger) Init(dataStore, ns, id string) error
func (*JournaldLogger) PostProcess ¶ added in v1.1.0
func (journaldLogger *JournaldLogger) PostProcess() error
func (*JournaldLogger) PreProcess ¶ added in v1.1.0
func (journaldLogger *JournaldLogger) PreProcess(dataStore string, config *logging.Config) error
type LogConfig ¶ added in v0.20.0
type LogConfig struct {
Driver string `json:"driver"`
Opts map[string]string `json:"opts,omitempty"`
}
LogConfig is marshalled as "log-config.json"
func LoadLogConfig ¶ added in v1.1.0
LoadLogConfig loads the log-config.json for the afferrent container store
type LogOpsValidateFunc ¶ added in v0.22.1
type LogViewOptions ¶ added in v1.1.0
type LogViewOptions struct {
// Identifier (ID) of the container and namespace it's in.
ContainerID string
Namespace string
// Absolute path to the nerdctl datastore's root.
DatastoreRootPath string
// Whether or not to follow the output of the container logs.
Follow bool
// Whether or not to print timestampts for each line.
Timestamps bool
// Uint representing the number of most recent log entries to display. 0 = "all".
Tail uint
// Start/end timestampts to filter logs by.
Since string
Until string
}
Set of options passable to log viewers.
func (*LogViewOptions) Validate ¶ added in v1.1.0
func (lvo *LogViewOptions) Validate() error
type LogViewerFunc ¶ added in v1.1.0
type LogViewerFunc func(lvopts LogViewOptions, stdout, stderr io.Writer, stopChannel chan os.Signal) error
Type alias for functions which write out logs to the provided stdout/stderr Writers. Depending on the provided `LogViewOptions.Follow` option, the function may block indefinitely until something is sent through the `stopChannel`.
type SyslogLogger ¶ added in v1.0.0
func (*SyslogLogger) Init ¶ added in v1.0.0
func (sy *SyslogLogger) Init(dataStore string, ns string, id string) error
func (*SyslogLogger) PostProcess ¶ added in v1.1.0
func (sy *SyslogLogger) PostProcess() error
func (*SyslogLogger) PreProcess ¶ added in v1.1.0
func (sy *SyslogLogger) PreProcess(dataStore string, config *logging.Config) error