Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) utilizzo classe log del java

    Volevo salvare le eccezioni di un mio programma in java su un file di testo utilizzando il package util.logging del java

    codice:
    public static Logger getLogger(Object myClass) {
            Logger logger = null;
            try {
                // Create an appending file handler
                boolean append = true;
                //Create a file handler with a limit of 2 megabytes
                int limit = 2000000; // 2 Mb
                FileHandler handler = new FileHandler(log_abs_path, limit, 1, append);
            
                // Add to the desired logger
                logger = Logger.getLogger(myClass.getClass().getName());
                logger.addHandler(handler);
                
                
            } catch (IOException e) {
                e.printStackTrace();
            }
            return logger;
        }
    Il codice riportato viene funziona correttamente, però il file di log lo scrive in formato HTML, di seguito un esempio:

    codice:
    <?xml version="1.0" encoding="windows-1252" standalone="no"?>
    <!DOCTYPE log SYSTEM "logger.dtd">
    <log>
    <record>
      <date>2005-09-27T17:04:34</date>
      <millis>1127833474605</millis>
      <sequence>0</sequence>
      <logger>it.siai.listener.SiaiFrameListener</logger>
      <level>SEVERE</level>
      <class>it.siai.listener.SiaiFrameListener</class>
      <method>connectionToDatabase</method>
      <thread>10</thread>
      <message>Driver hsql del database non trovato, impossibile avviare il programma</message>
      <exception>
        <message>java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver</message>
        <frame>
          <class>java.net.URLClassLoader$1</class>
          <method>run</method>
        </frame>
        <frame>
          <class>java.security.AccessController</class>
          <method>doPrivileged</method>
        </frame>
        <frame>
          <class>java.net.URLClassLoader</class>
          <method>findClass</method>
        </frame>
        <frame>
          <class>java.lang.ClassLoader</class>
          <method>loadClass</method>
        </frame>
        <frame>
          <class>sun.misc.Launcher$AppClassLoader</class>
          <method>loadClass</method>
        </frame>
    ecc...
    io invece lo forrei scritto in txt semplice nel seguente modo:

    codice:
    java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Unknown Source)
    	at it.siai.extra.DatabaseSiai.openConnectionToDatabase(DatabaseSiai.java:347)
    	at it.siai.listener.SiaiFrameListener.connectionToDatabase(SiaiFrameListener.java:84)
    	at it.siai.listener.SiaiFrameListener.<init>(SiaiFrameListener.java:60)
    	at it.siai.main.Siai.createAndShowGUI(Siai.java:66)
    	at it.siai.main.Siai.access$1(Siai.java:56)
    	at it.siai.main.Siai$1.run(Siai.java:75)
    	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    Come faccio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    qualche idea?

  3. #3
    io ti consiglio di usare log4j

  4. #4
    Utente di HTML.it L'avatar di plafo
    Registrato dal
    Sep 2000
    Messaggi
    84
    anch'io ti consiglio di utilizzare log4j....prova a fare una ricerca sul forum sicuramente troverai qualcosa d'interessante in merito




    ciao ciao

    Carlo
    non può piovere per sempre

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306
    Oppure puoi cambiare il tipo di log... per default il Logger di Java scrive un file XML, ma puoi specificare di fargli scrivere un semplice file di testo.

    Se dai un'occhiata alle PILLOLE c'è un'interessante pillola di blinkago.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.