Вам будет намного лучше, если у вас будет только один механизм аудита, и он будет находиться как можно ближе к базе данных.
Как таковой, используйте триггеры для всего.
Попросите ваше приложение установить переменную сеанса, скажем, @APP_USER = "kabir". Настройте триггеры (вставка / обновление / удаление), чтобы использовать @APP_USER, если он существует, и использовать функцию USER () MySQL, как предложил Сергей.
Мы создали небольшой скрипт, который генерирует триггеры, просматривая схему каждой таблицы. Это экономит много времени, но вы должны помнить, что нужно регенерировать триггеры при изменении схемы.
Удачи.