Foros del Web » Programación para mayores de 30 ;) » Java »

Evitar logger por pantalla

Estas en el tema de Evitar logger por pantalla en el foro de Java en Foros del Web. Tengo una aplicacion en la que se ha creado un log con Logger java configurandolo directamente en el codigo, sin fichero de propiedades. Era pasa ...
  #1 (permalink)  
Antiguo 18/01/2015, 10:21
 
Fecha de Ingreso: abril-2005
Mensajes: 171
Antigüedad: 19 años
Puntos: 0
Evitar logger por pantalla

Tengo una aplicacion en la que se ha creado un log con Logger java configurandolo directamente en el codigo, sin fichero de propiedades. Era pasa hacerlo sencillo ya que es para entrgar y esto lo he dejado para el final por lo que me gustaria no tocar mucho el código. El problema es que me escribe el fichero de log perfectamente, el nombre que yo le he dado en la ruta de ejecucion de la aplicacion, pero me saca tambien la informacion por pantalla y esto es lo que quiero evitar.

El codigo es:

objFileHandler = new FileHandler("traza.log");
objGestionFicheros.setObjLogger(Logger.getLogger(" traza.log"));
objFileHandler.setFormatter(new SimpleFormatter());
objGestionFicheros.getObjLogger().addHandler(objFi leHandler);
objGestionFicheros.escribirTraza(boTraza, "Inicializando el nivel de traza");

objGestionFicheros es una clase que tiene una variable Logger que inicializo con esas lineas y el metodo para escribir la traza.
  #2 (permalink)  
Antiguo 19/01/2015, 13:40
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Evitar logger por pantalla

Hola:

Habría que ver cómo configuras el logger por defecto en tu aplicación. Fíjate en tu línea

objGestionFicheros.getObjLogger().addHandler(objFi leHandler);

está añadiendo un handler a los ya existentes. Si ya existía uno que saca por consola, estás añadiendo un segundo y tendrás salida en fichero y en consola.

Prueba a no inicializar el logger en ningún otro sitio (no sé si quizás estés llamando antes al BasicConfigurator o algo de logger) o busca algún método para quitarle todos los handler antes de añadir el tuyo.

Se bueno
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 24/01/2015, 13:58
 
Fecha de Ingreso: abril-2005
Mensajes: 171
Antigüedad: 19 años
Puntos: 0
[SOLUCIONADO]Respuesta: Evitar logger por pantalla

El problema estaba que al inicializar el logger con Logger.getLogger("traza.log") se crea por defecto para consola y no aparece dentro del listado de Handlers. Se soluciona poniendo el padre de los handlers a falso

Logger.setUseParentHandlers(false);

Gracias

Etiquetas: clase, pantalla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:02.