Je capture le user-agent
en utilisant :
http-request capture req.hdr(User-Agent) len 192
Et ensuite j'essaie de créer un format de journal personnalisé JSON
comme ceci :
log-format '{"User-Agent":%{+Q,+E}[capture.req.hdr(0)]}'
Cela fonctionne mais lorsque le User Agent inclut des crochets, par exemple :
Dalvik/1.6.0 (Linux; U; Android 4.4.4; Ixion X LTE 4.5 [Build KTU84P])
L'option +E
échappe aux crochets et casse le JSON, cela crée quelque chose comme :
"User-Agent": "Dalvik/1.6.0 (Linux; U; Android 4.4.4; Ixion X LTE 4.5 \[Build KTU84P])"
Lorsque l'UA contient des guillemets supplémentaires, il n'y a pas de problème :
"User-Agent": "this \"works\" fine"
Je me demande donc s'il existe un moyen de spécifier l'échappement uniquement pour les guillemets doubles ou des alternatives pour rendre le format de journal compatible avec le JSON