package Ġorg . ny pl . simpl ified . http . core Ċ Ċ import Ġcom . io 7 m . j functional . Option Type Ċ import Ġcom . io 7 m . j functional . Some Ċ import Ġorg . slf 4 j . Logger Ċ import Ġjava . net . URI Ċ Ċ /** Ċ Ġ* ĠFunctions Ġto Ġlog ĠHTTP Ġerrors . Ċ Ġ*/ Ċ Ċ object ĠHTTP Problem Report Logging Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠLog Ġthe Ġgiven ĠHTTP Ġerror . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġlogger ĠThe Ġtarget Ġlogger ĊĠĠ Ġ* Ġ@ param Ġuri ĠThe Ġoriginal ĠURI ĊĠĠ Ġ* Ġ@ param Ġmessage ĠThe Ġerror Ġmessage ĊĠĠ Ġ* Ġ@ param ĠstatusCode ĠThe ĠHTTP Ġstatus Ġcode ĊĠĠ Ġ* Ġ@ param Ġreport Option ĠThe Ġproblem Ġreport , Ġif Ġone Ġexists ĊĠĠ Ġ*/ ĊĊĠ Ġfun Ġlog Error ( ĊĠĠĠ Ġlogger : ĠLogger , ĊĠĠĠ Ġuri : ĠURI , ĊĠĠĠ Ġmessage : ĠString , ĊĠĠĠ ĠstatusCode : ĠInt , ĊĠĠĠ Ġreport Option : ĠOption Type < HTTP Problem Report > ĊĠ Ġ): ĠString Ġ{ ĊĊĠĠĠ Ġval Ġtext Ġ= ĊĠĠĠĠĠ ĠStringBuilder ( 1 2 8 ) ĊĠĠĠĠĠĠĠ Ġ. append (" Error Ġretrieving ĠURI \ n ") ĊĠĠĠĠĠĠĠ Ġ. append (" Ġ ĠURI : ĠĠĠĠ Ġ") ĊĠĠĠĠĠĠĠ Ġ. append ( uri ) ĊĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠ Ġ. append (" Ġ ĠMessage : Ġ") ĊĠĠĠĠĠĠĠ Ġ. append ( message ) ĊĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠ Ġ. append (" Ġ ĠStatus : Ġ Ġ") ĊĠĠĠĠĠĠĠ Ġ. append ( statusCode ) ĊĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĊĠĠĠ Ġif Ġ( report Option . is Some ) Ġ{ ĊĠĠĠĠĠ Ġval Ġreport Ġ= Ġ( report Option Ġas ĠSome < HTTP Problem Report >). get () ĊĠĠĠĠĠ Ġlogger . error (" {}", ĊĠĠĠĠĠĠĠ Ġtext . append (" Ġ ĠReport :\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append (" ĠĠĠ ĠStatus : Ġ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append ( report . problem Status ) ĊĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append (" ĠĠĠ ĠType : ĠĠ Ġ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append ( report . problem Type ) ĊĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append (" ĠĠĠ ĠTitle : Ġ Ġ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append ( report . problem Title ) ĊĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append (" ĠĠĠ ĠDetail : Ġ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append ( report . problem Detail ) ĊĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. toString ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġlogger . error (" {}", ĊĠĠĠĠĠĠĠ Ġtext . append (" Ġ ĠReport : ĠNo Ġproblem Ġreport Ġavailable \ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠĠĠ Ġ. toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġtext . toString () ĊĠ Ġ} Ċ } Ċ