Log Format Sed
Source Format
bash
log_format main '$remote_addr - $remote_user [$time_local] '
'"$reqpwuest" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
Dest Format
bash
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'rt="$request_time" uct="$upstream_connect_time" '
'uht="$upstream_header_time" urt="$upstream_response_time"';
Sed Script
bash
cat > replace.sed << 'EOF'
/log_format.*main/,/;/c\
log_format main '$remote_addr - $remote_user [$time_local] '\
'"$request" $status $body_bytes_sent "$http_referer" '\
'"$http_user_agent" "$http_x_forwarded_for" '\
'rt="$request_time" uct="$upstream_connect_time" '\
'uht="$upstream_header_time" urt="$upstream_response_time"';
EOF
Sed Command
bash
sed -i -f replace.sed nginx.conf