style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

java ee 7 Interceptor con java.util.logging.Logger mensajes duplicados.

Hola Javamexico, quería preguntarles por algo raro que me está sucediendo con el uso de logger, un interceptor y donde lo aplico.

Estoy haciendo un ejemplo usando glassfish, editando el código en netbeans.

Tengo un LoggingProducer

public class LoggingProducer {

    @Produces
    private Logger createLogger(InjectionPoint injectionPoint) {
        Logger logger1 = Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
        logger1.setLevel(Level.FINER);
       
        return logger1;
    }
}

la línea donde asigno nivel al logger la añadí para que mostrara mensajes de log de entering y exiting del siguiente interceptor:::

@Interceptor
@Loggable
public class LoggingInterceptor implements Serializable{

    @Inject
    private Logger logger;
       
    @AroundInvoke
    public Object logMethod(InvocationContext ic) throws Exception {
        logger.entering(ic.getTarget().getClass().getName(), ic.getMethod().getName());
       
        try {
            return ic.proceed();
        } finally {
            logger.exiting(ic.getTarget().getClass().getName(), ic.getMethod().getName());
           
        }
    }
}

finalmente, cuando lo aplico en alguna clase

@Named
@SessionScoped
@Loggable
public class LineaController implements Serializable {
...
...

en la salida ( glassfish4\glassfish\domains\domain1\logs\server.log )

salen mensajes repetidos... cuando debería indicar una sola vez cuando se ingresa a un método y una vez cuando se sale.

por ejemplo:::

[2014-11-05T14:29:16.673-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756673] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarBotonInsertar] [[
  ENTRY]]

[2014-11-05T14:29:16.673-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756673] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarBotonInsertar] [[
  RETURN]]

[2014-11-05T14:29:16.673-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756673] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarBotonInsertar] [[
  ENTRY]]

[2014-11-05T14:29:16.674-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756674] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarBotonInsertar] [[
  RETURN]]

[2014-11-05T14:29:16.676-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756676] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarPanelInsertar] [[
  ENTRY]]

[2014-11-05T14:29:16.676-0500] [glassfish 4.0] [FINER] [] [paquete.interceptor.LoggingInterceptor] [tid: _ThreadID=23 _ThreadName=http-listener-1(5)] [timeMillis: 1415215756676] [levelValue: 400] [CLASSNAME: paquete.LineaController$Proxy$_$$_WeldSubclass] [METHODNAME: getMostrarPanelInsertar] [[
  RETURN]]

Quería pedirles el favor me indicaran como solucionar este problema de mensajes repetidos, para que no se dupliquen.

Un saludo.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

De hecho, funciona

De hecho, funciona perfectamente. La vista es quien está invocando el método varias veces (en este caso, la implementación de JSF).

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">