EclipseLink, la implementación de referencia de JPA, usa sus propias clases para realizar el registro de trazas (logging). EclipseLink se puede extender para usar otras librerías de logging como Apache Commons Logging o SLF4j. Para conseguirlo debemos crear nuestra propia implementación de SessionLog y configurar EclipseLink para que la use con el parámetro eclipselink.logging.logger

Existen algunas implemetaciones de SessionLog para Apache Commons Logging y SLF4J pero con algunas carencias (la implementación para JCL hace referencia directa a la API de Log4j y la de SLF4J no permite el uso de las propiedades de EclipseLink para controlar el formato de los logs), por lo que he creado una implementación que usa SLF4j.