Mostrando entradas con la etiqueta log. Mostrar todas las entradas
Mostrando entradas con la etiqueta log. Mostrar todas las entradas

jueves, 27 de febrero de 2014

Escribiendo un log

Podemos añadir un fichero de log a nuestra aplicación Java muy fácilmente utilizando la clase Logger.

1
2
3
4
5
FileHandler fh = new FileHandler("Log.log");
Logger logger = Logger.getLogger("TestLog");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter); 

Con este código creamos el Logger, y podemos añadir mensajes con la sentencia:

1
logger.info("Mensaje de log");

Este tipo de mensajes incluye información sobre la fecha, clase y método en que se está escribiendo el log. En general esta información es muy útil, pero si quieres escribir un log con muchas entradas, y vas a tener que procesarlas, puede que prefieras que no aparezca. Si es así, puedes crear tu propio formateador extendiendo de la clase Formatter.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class MySimpleFormatter extends Formatter 
{   
    public MySimpleFormatter() { 
        super(); 
    }

    @Override 
    public String format(final LogRecord record) 
    {
        return record.getMessage();
    }   
}

Basta con cambiar el SimpleFormatter estándar por el nuestro, y ya tendremos los mensajes a nuestro gusto.

Por supuesto, podemos modificar el método format para configurar la información del log como queramos.

domingo, 12 de diciembre de 2010

¿Dónde están mis mensajes de error?

En estos días, trabajando en el que espero que sea mi segundo tutorial publicado en JavaHispano, he pasado de utilizar la versión 11.1.1.2 de jDeveloper, a la 11.1.1.3. En principio todo fue muy bien; de hecho, no se aprecian cambias sustanciales al trabajar con las tecnologías que estaba utilizando. Sin embargo, he tenido unos días de complicaciones por un mensaje de error desaparecido. ¿Quién me lo iba a decir?

Resulta que tenía una aplicación casi completamente desarrollada, que mostraba un popup cada vez que se producía un error. Por ejemplo, si al ejecutar una consulta sobre la base de datos obtenía una excepción ORA-XXXXX, ésta iba recorriendo las distintas capas hasta aparecer delante del usuario.

Sin embargo, al empezar a trabajar con la versión 11.1.1.3 del IDE, los mensajes de error dejaron de mostrarse. Seguían recogiéndose como siempre en el log de jDeveloper, pero nada más. No había forma de presentarlos al usuario.

Al final, preguntando en el foro de Oracle, se confirmaron las sospechas de que era un cambio de comportamiento de la nueva versión. Por el momento no conozco ninguna forma para conseguir que los mensajes lleguen a la interfaz, así que la única opción si los queremos es volver atrás, y esperar.