Go io.Writer的日志数据
我想创建一个方法,该方法使用ìo.WriterGo 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, _ :
并将
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您完全正确,以前没有找到它们。