我们使用nginx作为反向代理来控制和记录对Clojure(Java)web服务应用程序的访问。
我们能够生成
access_log
使用nginx捕获传入的头非常好。我们的Clojure应用程序通过log4j记录活动
访问日志
应用程序生成的条目。
应用程序通过发送响应头和正文来响应访问。我们可以自由地更改这些响应头。我最初的想法是生成对应于每个web服务请求的UUID,并将其发送回回复头中的用户
X-Uuid
. 我的想法是我可以通过创建一个自定义
log_format
:
log_format lt-custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time $http_x_uuid';
看起来nginx可以捕获传入请求中的头,而不是传出回复(我通过替换
$http_x_uuid
具有
$http_content_type
).
所以!有没有办法把我的
访问日志
通过使用nginx捕获传出的回复头来获取enties和my log4j条目?有更好的办法吗?我宁愿不依赖用户生成自己的uuid。
非常感谢!