io.Writer的日志数据

This question already has an answer here:

I'd like to create a method that takes a ìo.Writerand wraps acipher.StreamWriter` around, to encrypt the writer. For Debugging Reasons, I'd like to print out what data passes the writer. How do I achieve this?

The Crypto Code is just placeholder, so fixed key, iv and so on is just for testing things out.

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}
}
</div>

You might want to take a look at MultiWriter from io package: it creates a writer that duplicates its writes to all the provided writers, similar to the Unix tee(1) command.