出来的日志信息只有内容和时间,没有显示这个日志是stdout还是stderr的问题?

可以通过在调用ContainerLogs方法时设置参数来解决这个问题。具体来说,可以在调用ContainerLogs方法时,设置一个参数为types.ContainerLogsOptions,然后在这个参数中设置Stdout和Stderr为true,这样就可以同时获取stdout和stderr的日志信息了。示例代码如下:

package main

import (
	"context"
	"fmt"
	"github.com/docker/docker/api/types"
	"github.com/docker/docker/client"
	"io"
	"os"
)

func main() {
	cli, err := client.NewEnvClient()
	if err != nil {
		panic(err)
	}

	options := types.ContainerLogsOptions{
		ShowStdout: true,
		ShowStderr: true,
	}

	out, err := cli.ContainerLogs(context.Background(), "my-container-id", options)
	if err != nil {
		panic(err)
	}
	defer out.Close()

	io.Copy(os.Stdout, out)
}

在上面的示例代码中,我们设置了ShowStdout和ShowStderr为true,这样在获取日志信息时就会同时获取stdout和stderr的内容。最后,我们将获取到的日志信息输出到控制台

golang docker sdk中的ContainerLogs方法查询出来的日志信息只有内容和时间没有显示这个日志是stdout还是stderr如何解决查询

原文地址: https://www.cveoy.top/t/topic/drWO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录