在自定义日志加密算法前,先来了解一下日志的结构:

    以上结构为一个日志结构体,在 Xlog.AppednerModeSync (同步模式)下,每写一行日志都会组装成一个日志结构体写入到日志文件中。在 Xlog.AppednerModeAsync (异步模式)下,mmap 中的数据是是一个日志结构体,每当往 mmap 中写入一行日志数据时,同时会修改结构体中的 length 的值。

    日志默认是提供 ecdh +tea的混合加密算法,具体使用方法见 Xlog 加密指引。如果你只是想更改加密算法的话,只需要修改两个函数(注意,老版本是需要单独把log_crypt.h和log_crypt.cc文件单独复制到上层代码里实现。最新版本已经不需要这么做):