Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go io.Writer的日志数据_Go_Streamwriter_Writer - Fatal编程技术网

Go io.Writer的日志数据

Go io.Writer的日志数据,go,streamwriter,writer,Go,Streamwriter,Writer,我想创建一个方法,该方法使用ìo.Writer并将cipher.StreamWriter`包装起来,以加密Writer。出于调试的原因,我想打印出通过写入程序的数据。我如何做到这一点 密码只是占位符,所以固定密钥、iv等只是用来测试的 func NewEncryptionWriter(w io.Writer) io.WriteCloser { key, _ := hex.DecodeString("6368616e676520746869732070617373") c, _ :

我想创建一个方法,该方法使用ìo.Writer
并将
cipher.StreamWriter`包装起来,以加密Writer。出于调试的原因,我想打印出通过写入程序的数据。我如何做到这一点

密码只是占位符,所以固定密钥、iv等只是用来测试的

func NewEncryptionWriter(w io.Writer) io.WriteCloser {
    key, _ := hex.DecodeString("6368616e676520746869732070617373")
    c, _ := aes.NewCipher(key)
    iv := make([]byte, aes.BlockSize)
    return &cipher.StreamWriter{S: cipher.NewOFB(c, iv), W: w}
}

您可能希望查看从io包:它创建了一个将其写入复制到所有提供的写入程序的写入程序,类似于Unix tee(1)命令。

您可能希望查看从io包:它创建了一个将其写入复制到所有提供的写入程序的写入程序,类似于Unix tee(1)命令。

我想您还需要另一个包装器,它实现了
io.WriterCloser
,打印出数据并将其余部分委托给包装的编写器。可能重复,写入多个io.Writers:,,@JimB您完全正确,以前没有找到它们。我想您还需要另一个包装器,它实现了
io.WriterCloser
,打印出数据并将其余部分委托给包装的编写器。可能重复,写入多个io.writer:,@JimB您完全正确,以前没有找到它们。