package Ġat . xa 1 . pull pub . server . application Ċ Ċ import Ġat . xa 1 . pull pub . server . logging . Event Logger Ċ import Ġio . ktor . application . Application Ċ import Ġio . ktor . application . Application Call Pipeline Ċ import Ġio . ktor . application . call Ċ import Ġio . ktor . application . install Ċ import Ġio . ktor . features . Call Logging Ċ import Ġio . ktor . request . http Method Ċ import Ġio . ktor . request . path Ċ Ċ fun ĠApplication . install Call Exception Logging ( log : ĠEvent Logger ) Ġ{ ĊĠĠĠ Ġinstall ( Call Logging ) ĊĠĠĠ Ġintercept ( Application Call Pipeline . Monitoring ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġcall . request ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . proceed () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLOG _ TAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Unhandled Ġexception Ġduring Ġcall : Ġ${ request . http Method . value } Ġ${ request . path () }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġconst Ġval ĠLOG _ TAG Ġ= Ġ" Call Exception Log " Ċ