/* Ċ Ġ* ĠTencent Ġis Ġplease d Ġto Ġsupport Ġthe Ġopen Ġsource Ġcommunity Ġby Ġmaking ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġavailable . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠTH L ĠA 2 9 ĠLimited , Ġa ĠTencent Ġcompany . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense . Ċ Ġ* Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠMIT ĠLicense Ġis Ġincluded Ġin Ġthis Ġfile . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠTerms Ġof Ġthe ĠMIT ĠLicense : Ċ Ġ* Ġ------------------------------------------------ --- Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ċ Ġ* Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ċ Ġ* Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ċ Ġ* Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ċ Ġ* Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT Ċ Ġ* ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN Ċ Ġ* ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , Ċ Ġ* ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE Ċ Ġ* ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . tencent . devops . log . configuration Ċ Ċ import Ġcom . tencent . devops . common . stream . constants . Stream Binding Ċ import Ġcom . tencent . devops . log . event . Log Origin Event Ċ import Ġcom . tencent . devops . log . event . Log Status Event Ċ import Ġcom . tencent . devops . log . event . Log Storage Event Ċ import Ġcom . tencent . devops . log . j mx . Log Print Bean Ċ import Ġcom . tencent . devops . log . service . Build Log Listener Service Ċ import Ġcom . tencent . devops . log . service . Build Log Print Service Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . autoconfigure . Auto Configure Order Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Web Application Ċ import Ġorg . springframework . cloud . stream . function . Stream Bridge Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . core . Ordered Ċ import Ġorg . springframework . messaging . Message Ċ import Ġjava . util . function . Consumer Ċ Ċ @ Configuration Ċ @ Conditional On Web Application Ċ @ Auto Configure Order ( Ordered . LOW EST _ PREC ED ENCE ) Ċ class ĠLog MQ Configuration Ġ@ Autowired Ġconstructor () Ġ{ ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġbuild Log Print Service ( ĊĠĠĠĠĠĠĠ Ġstream Bridge : ĠStream Bridge , ĊĠĠĠĠĠĠĠ Ġlog Print Bean : ĠLog Print Bean , ĊĠĠĠĠĠĠĠ Ġstorage Properties : ĠStorage Properties , ĊĠĠĠĠĠĠĠ Ġlog Service Config : ĠLog Service Config ĊĠĠĠ Ġ) Ġ= ĠBuild Log Print Service ( stream Bridge , Ġlog Print Bean , Ġstorage Properties , Ġlog Service Config ) ĊĊĠĠĠ Ġ@ Bean ( Stream Binding . BINDING _ LOG _ ORIGIN _ EVENT _ IN ) ĊĠĠĠ Ġfun Ġlog Origin Event In ( ĊĠĠĠĠĠĠĠ Ġlistener Service : ĠBuild Log Listener Service ĊĠĠĠ Ġ): ĠConsumer < Message < Log Origin Event >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠConsumer Ġ{ Ġevent : ĠMessage < Log Origin Event > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Service . handle Event ( event . payload ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ( Stream Binding . BINDING _ LOG _ STORAGE _ EVENT _ IN ) ĊĠĠĠ Ġfun Ġlog Storage Event Out ( ĊĠĠĠĠĠĠĠ Ġlistener Service : ĠBuild Log Listener Service ĊĠĠĠ Ġ): ĠConsumer < Message < Log Storage Event >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠConsumer Ġ{ Ġevent : ĠMessage < Log Storage Event > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Service . handle Event ( event . payload ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ( Stream Binding . BINDING _ LOG _ STATUS _ EVENT _ IN ) ĊĠĠĠ Ġfun Ġlog Status Event Out ( ĊĠĠĠĠĠĠĠ Ġlistener Service : ĠBuild Log Listener Service ĊĠĠĠ Ġ): ĠConsumer < Message < Log Status Event >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠConsumer Ġ{ Ġevent : ĠMessage < Log Status Event > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Service . handle Event ( event . payload ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ