При использовании контейнера Spring или EJB есть простой прием, который работает очень хорошо: предоставьте LogService с методом logWarning (String message). Метод должен быть аннотирован / настроен с параметром транзакции REQUIRES_NEW.
Если нет, то вам придется смоделировать его с помощью вызовов API. Откройте другое соединение для ведения журнала, при входе в метод начните транзакцию, прежде чем оставить фиксацию транзакции.
Когда транзакции не используются для вставки, на самом деле ничего особенного делать не нужно, так как по умолчанию большинство баз данных запускаются при автоматической фиксации и фиксации после каждого оператора.