mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			107 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package logger // import "github.com/docker/docker/daemon/logger"
 | 
						|
 | 
						|
import (
 | 
						|
	"errors"
 | 
						|
	"io"
 | 
						|
)
 | 
						|
 | 
						|
type client interface {
 | 
						|
	Call(string, interface{}, interface{}) error
 | 
						|
	Stream(string, interface{}) (io.ReadCloser, error)
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxy struct {
 | 
						|
	client
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyStartLoggingRequest struct {
 | 
						|
	File string
 | 
						|
	Info Info
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyStartLoggingResponse struct {
 | 
						|
	Err string
 | 
						|
}
 | 
						|
 | 
						|
func (pp *logPluginProxy) StartLogging(file string, info Info) (err error) {
 | 
						|
	var (
 | 
						|
		req logPluginProxyStartLoggingRequest
 | 
						|
		ret logPluginProxyStartLoggingResponse
 | 
						|
	)
 | 
						|
 | 
						|
	req.File = file
 | 
						|
	req.Info = info
 | 
						|
	if err = pp.Call("LogDriver.StartLogging", req, &ret); err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	if ret.Err != "" {
 | 
						|
		err = errors.New(ret.Err)
 | 
						|
	}
 | 
						|
 | 
						|
	return
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyStopLoggingRequest struct {
 | 
						|
	File string
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyStopLoggingResponse struct {
 | 
						|
	Err string
 | 
						|
}
 | 
						|
 | 
						|
func (pp *logPluginProxy) StopLogging(file string) (err error) {
 | 
						|
	var (
 | 
						|
		req logPluginProxyStopLoggingRequest
 | 
						|
		ret logPluginProxyStopLoggingResponse
 | 
						|
	)
 | 
						|
 | 
						|
	req.File = file
 | 
						|
	if err = pp.Call("LogDriver.StopLogging", req, &ret); err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	if ret.Err != "" {
 | 
						|
		err = errors.New(ret.Err)
 | 
						|
	}
 | 
						|
 | 
						|
	return
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyCapabilitiesResponse struct {
 | 
						|
	Cap Capability
 | 
						|
	Err string
 | 
						|
}
 | 
						|
 | 
						|
func (pp *logPluginProxy) Capabilities() (cap Capability, err error) {
 | 
						|
	var (
 | 
						|
		ret logPluginProxyCapabilitiesResponse
 | 
						|
	)
 | 
						|
 | 
						|
	if err = pp.Call("LogDriver.Capabilities", nil, &ret); err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	cap = ret.Cap
 | 
						|
 | 
						|
	if ret.Err != "" {
 | 
						|
		err = errors.New(ret.Err)
 | 
						|
	}
 | 
						|
 | 
						|
	return
 | 
						|
}
 | 
						|
 | 
						|
type logPluginProxyReadLogsRequest struct {
 | 
						|
	Info   Info
 | 
						|
	Config ReadConfig
 | 
						|
}
 | 
						|
 | 
						|
func (pp *logPluginProxy) ReadLogs(info Info, config ReadConfig) (stream io.ReadCloser, err error) {
 | 
						|
	var (
 | 
						|
		req logPluginProxyReadLogsRequest
 | 
						|
	)
 | 
						|
 | 
						|
	req.Info = info
 | 
						|
	req.Config = config
 | 
						|
	return pp.Stream("LogDriver.ReadLogs", req)
 | 
						|
}
 |