из http://php.net/manual/en/function.rename-function.php
bool rename_function (строка $ original_name, строка $ new_name)
Переименовывает orig_name в new_name в таблице глобальных функций.Полезно для временного переопределения встроенных функций.
Я полагаю, что если вы переименуете оригинал в original_mysql_query, то добавьте функцию замены, которая выполняет ведение журнала, а затем вызовет original_mysql_query и т. Д., Чтобы вы достигли своей цели, предполагая, что у вас есть способ внедрить переименование на каждой странице, которая будет вызывать MySQL_query.У большинства крупных сайтов есть общий код, который включен в верхней части каждой страницы и может сделать это за вас.
Существует также встроенная функция php, называемая override_function (упомянутая ChrisH).Он не полностью документирован на странице руководства php, но пользовательские комментарии под документом дают вам информацию, которая вам необходима, если вы предпочитаете ее функции rename_function.Была дискуссия о том, чтобы ограничиться одним переопределением, если вам нужно было вызвать исходную функцию из замены.Использование функции rename_function вместо функции переопределения устраняет это потенциальное ограничение.