我正在将日志发送到nginx服务器,并希望将这些日志转储到一个文件中。每次发送一个日志时,我可以使用nginxechomodule强制nginx读取主体,如下所示:
http {
log_format log_dump '$request_body';
server {
listen 80 default_server;
listen [::]:80 default_server;
access_log /logs/dump log_dump;
location /logs {
echo_read_request_body;
}
}
}
当我一次发送一个日志时,这很好:
POST /logs HTTP/1.1
Host: www.example.com
123456 index.html was accessed by 127.0.0.1
POST /logs HTTP/1.1
Host: www.example.com
123457 favicon.ico was accessed by 127.0.0.1
但是,当我尝试批处理日志时(为了避免连接开销和HTTP头开销):
POST /logs HTTP/1.1
Host: www.example.com
123456 index.html was accessed by 127.0.0.1
123457 favicon.ico was accessed by 127.0.0.1
这是我的日志文件中显示的内容:
123456 index.html was accessed by 127.0.0.1\x0A123457 favicon.ico was accessed by 127.0.0.1
现在我的假设是,因为一个nginx日志行
一行
,它正在对我的新行字符进行编码以确保这一点。有允许多行nginx日志的方法吗?