Java - Loggin para mi programa

 
Vista:

Loggin para mi programa

Publicado por Jonathan (30 intervenciones) el 10/03/2006 01:33:51
Hola, tengo en mi programa un monton de System.out.println(......) para poder ver cada uno de los procesos que se van realizando. Quiero en vez de mostrarlo a la salida, que se vayan imprimiendo en un archivo plano para luego poder ver todos los procesos y los errores generados en la ejecucion de mi programa. Se que existen dos clases: loggin y logger pero no las entiendo mucho pues son algo enredadas. Quisiera saber cual es la manera mas facil de lograr este proposito o por favor si me pueden explicar como trabajan estas clases existentes y como las podria aplicar GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Loggin para mi programa

Publicado por chuidiang (950 intervenciones) el 10/03/2006 19:51:58
Hola:

Las clases de java.util.logging sirven para lo que tú dices. Yo suelo usar log4j que es una librería ampliada que me he bajado, así que no te puedo asegurar que lo que te cuente aquí funcione, pero espero que al menos la idea te ayude a encontrar la solucion más fácilmente.

Primero debes obtener un "logger" para poder escribir. Lo obtienes así

Logger log = Logger.getLogger("UnNombreCualquiera");

El "UnNombreCualquiera" suele ser el nombre de la clase con los paquetes delante. La idea de esto es que cada paquete o cada clase tenga su propio logger. De esta forma puedes, por ejemplo, hacer que los mensajes de un determiando paquete salgan por el fichero y otros no.

Luego le añades los "handlers" que quieras. Estos son los que se encargan de sacar los mensajes por distintos sitios. Por defecto creo que hay uno que lo va sacando por pantalla, así que solo debes añadir el del fichero. Instancia un FileHandler y pásaelo al logger con addHandler().

log.addHandler (new FileHandler("fichero"));

Para sacar mensajes, usa el método log(Level, ...) o los métodos warn(), info(), severe() etc ...

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar