だから私は、私たちのフロントエンドのロードバランサでユニークなリクエストIDを設定し、いくつかの既存のコードを持っている:haproxyのHTTPリクエストセットヘッダーと独自のHTTPリクエストIDを設定
unique-id-format %{+X}o\ %Ts_%ci_%cp_%fi_%fp_%rt_%pid
unique-id-header X-Request-Id
log-format %ci\ %r\ %ST\ %B\ %Tr\ %Tt\ %s\ %ID\ %hr
予想通り、この作品 - X-Request-Idは期待どおりに作成され、ログに記録され、バックエンドに渡されます。問題はありません。しかし、このリクエストIDの生成を条件付きにしたいと思います。問題ありません - 私はちょうど一意-IDヘッダの代わりにHTTP要求セットヘッダを使用することができなければならない:
unique-id-format %{+X}o\ %Ts_%ci_%cp_%fi_%fp_%rt_%pid
http-request set-header X-Request-Id %ID
log-format %ci\ %r\ %ST\ %B\ %Tr\ %Tt\ %s\ %ID\ %hr
(これらはfront_endセクションの全てです)。 Maddeninglyしかし、%IDはこの方法で使用すると空白と評価されるようです。私は%IDを使用する代わりにハードコードされた値を使用することができ、それは動作します。別のログフィールド(%Tsなど)を使用することもできます。ただし、%IDでは動作しません。どんな手がかりも助けになるでしょう - 事前に感謝します。
EDIT:バージョンは、私はあなたが期待するような本と%ないIDが働いていなかった場合、私は条件付きでヘッダーを設定したかったという点で、まったく同じ問題があった1.6.11