There doesn’'t appear to be a user login/logoff event that you can listen for.
The UserEventListener interface only exposes 3 types of event, created/modified/deleting. Thats a nice change request, perhaps.
Meanwhile you will have to code this up yourself, by either writing a packet interceptor or going directly into the JM code finding out where these packets are handled. Logoff could be interesting, esp if the client doesn’'t logoff correctly or his session just dies, you might never get a logoff message.
Hope that helps,