Java - !Urge! Capturar mensajes de error de java

 
Vista:

!Urge! Capturar mensajes de error de java

Publicado por erkeko (16 intervenciones) el 08/02/2007 21:05:03
Hola a todos:
Cuando deseo probar un programa en java que voy escribiendo, suelo escribir en la ventana de MSDOS lo siguiente: java <nombre_fichero_class> y se carga el programa sin dificultad.
El problema surgue cuando, durante la ejecución del programa este genera algún tipo de excepción o mensaje de error, en el que java muestra la la jerarquia o camino de ejecución que llevó hasta la creación del error.
Bueno. Pues lo que deseo es poder capturar esos mensajes de error. Cuando son pocas lineas no hay problema, pero cuando son muchas, las primeras líneas (que indican el punto final que provocaron el error) desaparecen por la ventana.
En equipos con Windows XP no hay problema, ya que la ventana de MSDOS puede desplazarse hacia arriba y abajo, pero en Win98 no.
Había pensado en usar algún parámetro de java, del estilo a java -verbose , o algo así, o si Java genera un fichero de Log de la úlima ejecución.
No me hace falta que el mensaje quede almacenado, tan solo que sea visible para poder consultarlo.
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

RE:!Urge! Capturar mensajes de error de java

Publicado por Angel (537 intervenciones) el 08/02/2007 22:23:16
Puedes usar la libreria log4j....buscala asi en internet...la descargas y añades a tu proyecto.
Despues puede tener un fichero llamado log4j.properties....aora no tngo aqui ningun ejemplo de ese fichero,,,contiene parametros del nombre del fichero log a crear, el tamaño maximo del fichero, la salida por pantalla....e.tc
Luego en cada clase que quieras que guarde mensajes en el fichero log debes hacer:
Logger LOGGER= Logger.getLogger(TuClase.class).;

Un saludo
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

RE:!Urge! Capturar mensajes de error de java

Publicado por Angel (537 intervenciones) el 09/02/2007 08:36:26
Un ejemplo del fichero log4j.properties

log4j.rootLogger=INFO, stdout, R

# salida por consola
log4j.appender.stdout=org.apache.log4j.ConsoleAppender

# salida por fichero
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=Nombre.log
log4j.appender.R.Append=true
log4j.appender.R.MaxFileSize=1MB
log4j.appender.R.MaxBackupIndex=1

# configuracion del mensaje por consola
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %x %c (%F:%L) - %m%n

# configuracion del mensaje por fichero
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %x %c (%F:%L) - %m%n

Un saludo
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

RE:!Urge! Capturar mensajes de error de java

Publicado por erkeko (16 intervenciones) el 09/02/2007 10:38:00
Gracias Angel, le echaré un vistazo.
Aunque yo lo que andaba buscando era algo mucho más sencillo. Antes, con el MSDOS, si una pantalla de texto era muy larga y se desplazaba por la ventana, se le podía añadir al comando la orden MORE, que prmitía visualizar la pantalla por pantalla.

Por ejemplo: DIR C:\WINDOWS sacaría mucha información por pantalla, que se iría desplazando hacia arriba según va escribiendo nueva info.
Pero escribiendo: DIR C:\WINDOWS | MORE toda la info que saldría por pantalla la pasa el Sistema operativo al programa MORE, y este te la muestra pantalla por pantalla, para que puedas leerla.

Otra solución, de la era del MSDOS era redireccionar la salida de pantalla hacia un fichero, de la forma: DIR C:\WINDOWS > fichero.txt , que crea un fichero de texto con el contenido de la pantalla.

Pero ni el comando MORE ni la redirección me funciona al hacer:
JAVA MI_FICHERO_CLASS | MORE
ni con
JAVA MI_FICHERO_CLASS > fichero.txt

Era algo así lo que andaba buscando, algo sencillo, o algun parámetro de la linea de comando de java (del estilo de verbose) sin tener que instalar clases nuevas al proyecto.
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

RE:!Urge! Capturar mensajes de error de java

Publicado por Angel (537 intervenciones) el 09/02/2007 11:07:00
Lo que te puse es por si quieres mantener un log de tu aplicación.

Pues usando > archivo.txt si funciona,,al menos a mi.
Por ejemplo he hecho:
java Br > archivo.txt
y ha salido sin problema...en vez d mostrar datos en consola los muestra en el fichero.
Recuerda que con ">" borra el contenido del fichero cada vez que vuelve a ecribir,,,,si lo quieres mantener debes poner ">>"

Un saludo
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

RE:!Urge! Capturar mensajes de error de java

Publicado por neossoftware (622 intervenciones) el 09/02/2007 18:20:48
Puedes echarle un ojo al excelente articulo de log4j que realizo camus integrante de Neos Software Inc .

http://www.geocities.com/neos_software/articles/j2se/log4j.html

Saludos comunidad open source.
Neos Software Inc 2007

http://www.geocities.com/neos_software/
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

RE:!Urge! Capturar mensajes de error de java

Publicado por erkeko (16 intervenciones) el 10/02/2007 01:20:46
Uhmmm. Parece interesante esto que me has mandado, neossoftware y Angel acerca de Log4j. Le echaré un vistazo, aunque demasiado profundo y potente para lo que necesito por ahora. Aunque por el momento, me conformaré con hacer el system.out.println y redireccionar la salida de java a un fichero, tal y como intenté y como me repitió Angel.
Por cierto, Angel, después de dos dias tratando de redireccionar la salida de Java con el ">" de buenas a primera ha empezado a funcionar. ¿Misterios de windows...?
Por cierto, comentaros que hasta ahora, en mis aplicaciones suelo tripicar la información presentada en pantalla. Me explico. Ando programando en Swing, y lo que ha hago es, en todas mis aplicaciones, crear un método llamado "escribirMensaje()", que es llamado cada vez que deseo escribir algo en pantalla. Dentro de este método hago una llamada al método Swing de escritura en el interface grafico; tambien añado una llamada a System.out.println() para visualizarlo en la consola; y por ultimo un trozo de código para añadir ese mensaje a un fichero de log (no para depurar).
Si os preguntais por qué triplicar la salida, os comento: lo del fichero, es para futuras consultas. Y lo de presentarlo por consola es porque mientras estoy realizando operaciones de sockets, la interface grafica se queda medio muerta y no me deja interactuar, ni pulsar botones, ni muestra mensaje, etc, hasta que termina la operacion de red y muetra todos de golpe. Sin embargo la consola los va mostrando uno a uno.
Imagino que serán manias mias, pero por ahora me funciona, aunque tal vez no sea muy correcto. (:D)
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

RE:!Urge! Capturar mensajes de error de java

Publicado por Angel (537 intervenciones) el 12/02/2007 12:24:35
Lo de mostrar mensajes en consola es normal,,yo al menos tmb lo hago,,mientras desarrollo para ver como va todo.....
Un comentario,,dices que la interfaz grafica s te keda muerta mientras haces un proceso,,,,,no deberias permitir eso,,deberias usar un thread para realizar la accion y mientras poder seguir con el programa o mostar un mensaje de espera....dejar la aplicacion muerta hace pensar que el programa se keda colgado...

Piensa lo del Thread, tienes buenos ejemplos por la red .

Un saludo
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