Siirtokerros voi lokittaa epäonnistuneen välityspalvelinyhteyden, samalla kun sovellus vastaanottaa ja käsittelee reaktiivisen virheen. Pelkkä lokimerkintä ei todista, että sovelluksen käsittelijä ohitettiin.

Seuraa virhesignaalia ketjussa, johon todella tilataan. try/catch pelkästään Monon rakentavan koodin ympärillä on eri laajuus kuin myöhemmän verkkovirheen käsittely.

OperaattoriVaikutus
doOnErrorSuorittaa sivuvaikutuksen virheen jatkuessa
onErrorMapMuuntaa virheen toiseksi virheeksi
onErrorResumeVaihtaa vaihtoehtoiseen julkaisijaan

Valitse toimintatapa, jota sovellus tarvitsee. Mittarin tallentaminen ei edellytä väärennetyn onnistuneen sisällön palauttamista. Vaihtoehtoisen vastauksen tulee olla sovelluksen tarkoituksellinen tulos, ei tapa piilottaa epäonnistunutta reittiä.

Erota myös siirtokerroksen poikkeukset vastaanotetuista HTTP-virhetiloista. Välityspalvelinyhteys voi epäonnistua ennen kuin tavanomaista kohdevastausta on olemassa, joten HTTP-tilan käsittelijällä ei ehkä ole mitään tarkistettavaa. Säilytä WebClientRequestExceptionin syy, kun diagnosoidaan alempaa virhettä.

Säädä lokitusta vasta, kun tulos on ymmärretty. Koko siirtokerroksen lokittajan sammuttaminen voi poistaa todisteita, joita tarvitaan myöhempään aikakatkaisuun, TLS-ongelmaan tai todennusvirheeseen, muuttamatta reaktiivisen putken toimintaa.

Aiheeseen liittyvät artikkelit