If you are willing to poll the database to check if a query is running for longer than x seconds, you can use show processlist, or go directly to the process list table.
select * from INFORMATION_SCHEMA.PROCESSLIST where time > TIME_IN_SECS
This will add more load to the database, so i would not recommend doing it every second. But that would mean that you wouldn't get the information "as soon as it reached the long_query_time".