Controlar el tiempo de la sesión

Hola,

Estoy desarrollando una aplicación para un cliente y al ser de formación, necesita contabilizar el tiempo que el usuario esta logueado. Es algo que no he tenido que hacer nunca y ando un poco perdido sobre como gestionarlo. Había pensado en almacenar en base de datos la sesión o bien con Redis o algún otro. El guardarla quizás no sea problema, no lo he echo nunca pero seria lo fácil. ¿Pero como hago que cuando salga se guarde cuando ha salido? ¿puedo saber de alguna forma que ha salido ya sea mediante logout o cerrando la pestaña/navegador?.

El proyecto esta en Symfony 3.3 con una base de datos MySQL, pero llevamos unas tres semanas, estamos empezando con el proyecto ahora. A ver si me podéis dar alguna pista o si alguien ha echo algo similar.

Gracias.

Un saludo.