elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  se guarda en algún directorio el log? utilizo java.util.logging.Logger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: se guarda en algún directorio el log? utilizo java.util.logging.Logger  (Leído 6,254 veces)
kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
se guarda en algún directorio el log? utilizo java.util.logging.Logger
« en: 5 Octubre 2009, 20:09 pm »

Hola:

Estoy aprendiendo sobre la clase Logger para incorporarla a mi código y tengo varias dudas.

¿Los mensajes se escriben solo en pantalla?
¿van a parar a algún archivo en la estructura de directorios de mi programa? (esta es mi intención para mas tarde poder depurarlo si surgen errores)

Estoy siguiendo los pasos que se indican en estos apuntes:

http://www.lab.dit.upm.es/~lprg/material/apuntes/log/log.htm

Gracias.


En línea

kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
Re: se guarda en algún directorio el log? utilizo java.util.logging.Logger
« Respuesta #1 en: 5 Octubre 2009, 21:12 pm »

Basta que pregunte para dar con la solución:

- Los mensajes se pueden dirigir a un archivo, sólo hay que añadir al LOGGER un handler.

boolean append = true;
FileHandler fh = new FileHandler("TestLog.log", append);
fh.setFormatter(new SimpleFormatter());
LOGGER.addHandler(fh);

He hecho alguna modificación en el código que se expone en la web del link de dichos apuntes para hacer pruebas. Sólo tendrías que añadir al directorio del programa el archivo diccionario con palabras para que pueda cargarse (está en la web).

Código
  1. package milogger;
  2.  
  3. import java.io.*;
  4. import java.util.logging.Logger;
  5. import java.util.logging.Level;
  6. import java.util.logging.FileHandler;
  7. import java.util.logging.SimpleFormatter;
  8.  
  9. class Diccionario {
  10.  
  11.    private static final Logger LOGGER = Logger.getLogger("TestLog");
  12.    private static final int MAX = 100;
  13.    // diccionario de hasta MAX palabras
  14.    // ordenadas alfabéticamente
  15.    private String[] palabras = new String[MAX];
  16.    private static final int primera = 0;
  17.    private int ultima = -1;
  18.  
  19.    static {
  20.        try {
  21.            boolean append = true;
  22.            FileHandler fh = new FileHandler("TestLog.log", append);
  23.            //fh.setFormatter(new XMLFormatter());
  24.            fh.setFormatter(new SimpleFormatter());
  25.            LOGGER.addHandler(fh);
  26.        } catch (IOException e) {
  27.            e.printStackTrace();
  28.        }
  29.    }
  30.  
  31.    /**
  32.      * Carga el diccionario leyendo palabras de un fichero.
  33.      *
  34.      * @param fichero A razón de una palabra por línea.
  35.      */
  36.    Diccionario(String fichero) {
  37.        LOGGER.config("cargamos el diccionario con " + fichero);
  38.        try {
  39.            BufferedReader br = new BufferedReader(new FileReader(fichero));
  40.  
  41.            for (String linea = br.readLine(); linea != null; linea = br.readLine()) {
  42.                if (ultima >= MAX - 1) {
  43.                    continue;
  44.                } // no caben más palabras
  45.                palabras[++ultima] = linea;
  46.            }
  47.            LOGGER.config(ultima + 1 + " palabras");
  48.        } catch (Exception e) {
  49.            LOGGER.log(Level.SEVERE, "creacion: ", e);
  50.  
  51.            System.exit(1);
  52.        }
  53.    }
  54.  
  55.    private int busca(String p) {
  56.        LOGGER.info("comienza la busqueda de " + p);
  57.        int resultado = busca(p, primera, ultima);
  58.  
  59.        LOGGER.info("resultado de la busqueda: " + resultado);
  60.        return resultado;
  61.    }
  62.  
  63.    private int busca(String p, int a, int z) {
  64.        LOGGER.fine("busca entre " + palabras[a] + " y " + palabras[z]);
  65.        if (a <= z) {
  66.            int m = (a + z) / 2;
  67.  
  68.            LOGGER.finer("probamos con " + palabras[m]);
  69.            int donde = p.compareTo(palabras[m]);
  70.  
  71.            LOGGER.finer("donde= " + donde);
  72.            if (donde == 0) {
  73.                return m;
  74.            }
  75.            if (donde < 0) {
  76.                return busca(p, a, m - 1);
  77.            }
  78.            if (donde > 0) {
  79.                return busca(p, m + 1, z);
  80.            }
  81.        }
  82.        LOGGER.warning("no encontrado");
  83.        return -1;
  84.    }
  85.  
  86.    /**
  87.      * Programa principal.
  88.      *
  89.      * @param args diccionario palabra
  90.      */
  91.    public static void main(String[] args)
  92.            throws Exception {
  93.        //if (args.length != 2) {
  94.        //     System.err.println("uso: java Diccionario diccionario palabra");
  95.        //     System.exit(1);
  96.        //}
  97.  
  98.        Diccionario diccionario = new Diccionario("diccionario");
  99.        String palabra = "hipoglúcido";
  100.        int posicion = diccionario.busca(palabra);
  101.  
  102.        System.out.println(palabra + ": " + posicion);
  103.    }
  104. }
  105.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
que es mejor facil y mas util php o java ?¿
Programación General
Freelancer 2 5,842 Último mensaje 8 Junio 2011, 05:32 am
por Freelancer
¿Algun texto útil para aprender C/C++ ?
Programación C/C++
Mattyasz 2 3,448 Último mensaje 10 Enero 2012, 19:08 pm
por folostia
[Aporte] ....::: Clase Arrays del paquete java.util :::...
Java
horny3 0 4,134 Último mensaje 24 Septiembre 2012, 06:43 am
por horny3
En que directorio guarda los datos recolectados este keylogger
Programación C/C++
Mister12 5 2,846 Último mensaje 31 Julio 2014, 21:15 pm
por Mister12
Problema con java.util.ConcurrentModificationException
Java
rubenasis 1 1,834 Último mensaje 14 Mayo 2015, 17:31 pm
por kub0x
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines