JSF phase listener could help.
I don't see anything in the PhaseEvent that I can use? i know I can probably get the request object and get the page from that...thanks!!! but then how would How do I record the action method that was going to be called at the very first phase so if there are any exceptions I still know what the user did?
You could try to plug your own navigation handler in faces-config.xml that extends SeamNavigationHandler. Navigation handler has a method with the following signature:
public void handleNavigation(FacesContext context, String fromAction, String outcome)
This will help you record the called action.