本文整理汇总了Golang中github.com/docker/docker/daemon/logger.NewCopier函数的典型用法代码示例。如果您正苦于以下问题:Golang NewCopier函数的具体用法?Golang NewCopier怎么用?Golang NewCopier使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewCopier函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: startLogging
func (container *Container) startLogging() error {
cfg := container.getLogConfig()
if cfg.Type == "none" {
return nil // do not start logging routines
}
l, err := container.getLogger()
if err != nil {
return fmt.Errorf("Failed to initialize logging driver: %v", err)
}
copier, err := logger.NewCopier(container.ID, map[string]io.Reader{"stdout": container.StdoutPipe(), "stderr": container.StderrPipe()}, l)
if err != nil {
return err
}
container.logCopier = copier
copier.Run()
container.logDriver = l
// set LogPath field only for json-file logdriver
if jl, ok := l.(*jsonfilelog.JSONFileLogger); ok {
container.LogPath = jl.LogPath()
}
return nil
}
开发者ID:swak,项目名称:docker,代码行数:26,代码来源:container.go
示例2: startLogging
func (p *Pod) startLogging(daemon *Daemon) (err error) {
err = nil
if err = p.getLogger(daemon); err != nil {
return
}
if p.spec.LogConfig.Type == "none" {
return nil
}
for _, c := range p.status.Containers {
var stdout, stderr io.Reader
tag := "log-" + utils.RandStr(8, "alphanum")
if stdout, stderr, err = p.vm.GetLogOutput(c.Id, tag, nil); err != nil {
return
}
c.Logs.Copier = logger.NewCopier(c.Id, map[string]io.Reader{"stdout": stdout, "stderr": stderr}, c.Logs.Driver)
c.Logs.Copier.Run()
if jl, ok := c.Logs.Driver.(*jsonfilelog.JSONFileLogger); ok {
c.Logs.LogPath = jl.LogPath()
}
}
return nil
}
开发者ID:Astray-git,项目名称:hyper,代码行数:28,代码来源:pod.go
示例3: startLogging
func (container *Container) startLogging() error {
cfg := container.hostConfig.LogConfig
if cfg.Type == "" {
cfg = container.daemon.defaultLogConfig
}
var l logger.Logger
switch cfg.Type {
case "json-file":
pth, err := container.logPath("json")
if err != nil {
return err
}
dl, err := jsonfilelog.New(pth)
if err != nil {
return err
}
l = dl
case "none":
return nil
default:
return fmt.Errorf("Unknown logging driver: %s", cfg.Type)
}
copier, err := logger.NewCopier(container.ID, map[string]io.Reader{"stdout": container.StdoutPipe(), "stderr": container.StderrPipe()}, l)
if err != nil {
return err
}
container.logCopier = copier
copier.Run()
container.logDriver = l
return nil
}
开发者ID:pierknueppel,项目名称:docker,代码行数:34,代码来源:container.go
示例4: StartLogging
// StartLogging initializes and starts the container logging stream.
func (daemon *Daemon) StartLogging(container *container.Container) error {
cfg := container.GetLogConfig(daemon.defaultLogConfig)
if cfg.Type == "none" {
return nil // do not start logging routines
}
if err := logger.ValidateLogOpts(cfg.Type, cfg.Config); err != nil {
return err
}
l, err := container.StartLogger(cfg)
if err != nil {
return fmt.Errorf("Failed to initialize logging driver: %v", err)
}
copier := logger.NewCopier(container.ID, map[string]io.Reader{"stdout": container.StdoutPipe(), "stderr": container.StderrPipe()}, l)
container.LogCopier = copier
copier.Run()
container.LogDriver = l
// set LogPath field only for json-file logdriver
if jl, ok := l.(*jsonfilelog.JSONFileLogger); ok {
container.LogPath = jl.LogPath()
}
return nil
}
开发者ID:lblackstone,项目名称:docker,代码行数:27,代码来源:logs.go
示例5: startLogging
func (c *Container) startLogging() {
var err error
c.initLogger()
if c.logger.Driver == nil {
return
}
var stdout, stderr io.Reader
if stdout, stderr, err = c.p.sandbox.GetLogOutput(c.Id(), nil); err != nil {
return
}
c.logger.Copier = logger.NewCopier(c.Id(), map[string]io.Reader{"stdout": stdout, "stderr": stderr}, c.logger.Driver)
c.logger.Copier.Run()
if jl, ok := c.logger.Driver.(*jsonfilelog.JSONFileLogger); ok {
c.logger.LogPath = jl.LogPath()
}
return
}
开发者ID:gnawux,项目名称:hyper,代码行数:23,代码来源:container.go
注:本文中的github.com/docker/docker/daemon/logger.NewCopier函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论