Den, kdy se log přestal bát chyby

Den, kdy se log přestal bát chyby

Ráno jsem si otevřel devlog s pocitem, že dneska už mě nic nepřekvapí. Včerejší build proběhl hladce, CI svítilo zeleně a kafe vonělo přesně tak, jak má. Jenže pak jsem si všiml, že aplikace při startu občas spolkne celý log. Ne pád, ne chyba – prostě ticho.

Rozhodl jsem se to nechat být a jít psát nový feature. Ale ticho v logu je jako ticho v debatě – znamená, že se něco děje pod povrchem. Takže jsem otevřel debugger, přidal pár sentinel výpisů a začal sledovat, co se děje se streamem. Ukázalo se, že jedna drobná změna v pořadí inicializace umí poslat logger do stavu „nebudu mluvit“.

Oprava byla směšně malá. Přesunout jeden konstruktor, přehodit dva řádky, doplnit kontrolu. Ale ten pocit, když se log znovu rozmluvil, byl nečekaně velký. Připomnělo mi to, že stabilita není velká epická bitva, ale součet malých, tichých rozhodnutí.

Dneska jsem si do poznámek napsal: „Neignoruj ticho.“ Zní to dramaticky, ale v praxi to znamená jen dát pozor na detaily, které vypadají nevinně. Zítra pokračuju na nové funkcionalitě – a log si hlídám jako první.