Для разработки периодически возникает необходимость логировать запросы для того, чтобы разобраться в проблеме. Если используете nginx, то можно настроить логирование запросов на его стороне.
Для этого надо создать новый формат лога и выставить его в виртуальном хосте. Также, рекомендую выставить client_body_buffer_size
побольше, т.к., если вы превысите стандартный размер в килобайт, то вместо тела запроса будет “-“.
Форматируем лог, в убунту при стандартной установке это файл /etc/nginx/nginx.conf
:
# ...
http {
# ...
client_body_buffer_size 100K;
client_header_buffer_size 10k;
log_format postdata '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$request_body" "$http_referer" '
'"$http_user_agent" $request_time';
# ...
}
# ...
И выставляем в виртуальном хосте, например /etc/nginx/sites-enabled/default
:
server {
# ...
access_log /var/log/nginx/postdata.log postdata;
# ...
}
Проверяем, что все написали правильно и конфигурация “ок”:
nginx -t
Перезагружаем сервер:
service nginx restart
Делаем запрос и идем смотреть лог /var/log/nginx/postdata.log
.
Если у вас не создался лог, проверьте, создана ли директория, где он лежит и есть ли у nginx права на запись в этой директории на этот файл.