Znaleźliśmy atrybut obiektu kursora o nazwie cursor._last_executed
który przechowuje ostatni ciąg zapytania do uruchomienia, nawet gdy wystąpi wyjątek. Było to dla nas łatwiejsze i lepsze w środowisku produkcyjnym niż ciągłe profilowanie lub rejestrowanie zapytań MySQL, ponieważ oba te rozwiązania mają wpływ na wydajność i wymagają większej ilości kodu lub większej korelacji oddzielnych plików dziennika itp.
Nienawidzę odpowiadać na moje własne pytanie, ale to działa lepiej dla nas.