package Ġorg . k iva . bio analy zers ervice . filter Ċ Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . slf 4 j . M DC Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . springframework . web . server . Server Web Exchange Ċ import Ġorg . springframework . web . server . Web Filter Ċ import Ġorg . springframework . web . server . Web FilterChain Ċ import Ġreactor . core . publisher . Mono Ċ Ċ /** Ċ Ġ* ĠThe Ġfilter Ġclass Ġfor Ġprocessing Ġincoming Ġrequests . Ċ Ġ*/ Ċ @ Component Ċ class ĠLog Filter Ġ: ĠWeb Filter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġfilter ( exchange : ĠServer Web Exchange , Ġchain : ĠWeb FilterChain ): ĠMono < Void > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreq id Ġ= Ġexchange . request . headers . getFirst ( REQUEST _ ID _ HEADER ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM DC . put ( REQUEST _ ID , Ġreq id ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Failure Ġin Ġgetting Ġthe Ġrequest Ġid Ġheader .", Ġex ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġchain . filter ( exchange ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠThe Ġlogger Ġclass . Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( java Class ) ĊĊĠĠĠ Ġ/** ĠThe Ġrequest Ġid Ġfiled Ġname . Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠREQUEST _ ID : ĠString Ġ= Ġ" req id " ĊĊĠĠĠ Ġ/** ĠThe Ġrequest Ġid Ġheader Ġname . Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠREQUEST _ ID _ HEADER : ĠString Ġ= Ġ" x - request - id " Ċ } Ċ