|
Dopo aver analizzato le caratteristiche della java jogging API vediamo un esempio pratico di utilizzo: package mio.package; import java.io.*; import java.util.logging.*; public class MyFirstLogging { public static void main(String[] args) { // Si passano come argomenti il path del file di log // e il livello di log String logPath = args[0]; String logLevel = args[1]; // Creiamo un logger usando il metodo statico getLogger() // passando il nome del package e della classe Logger logger = Logger.getLogger("mio.package.MyFirstLogging"); // In alternativa si potrebbe creare il logger usando // il solo nome del package: // Logger logger = Logger.getLogger("mio.package"); // o il solo nome della classe // Logger logger = Logger.getLogger("MyFirstLogging"); // oppure un nome arbitrario // Logger logger = Logger.getLogger("myLog"); // Creiamo un Handler di tipo FileHandler passando il path // del file su cui scrivere i messaggi Handler fh = new FileHandler(logPath); // Creiamo un Formatter di tipo SimpleFormatter, quindi // il file di log è di tipo plain text e lo impostiamo // come formatter del nostro handler Formatter fmt = new SimpleFormatter(); fh.setFormatter(fmt); // Associamo l'handler creato al nostro logger logger.addHandler(fh); // Settiamo il LEVEL del nostro logger utilizzando il metodo // statico parse che mi restituisce un oggetto di tipo Level // da un nome di livello valido logger.setLevel(Level.parse(logLevel)); // Loggiamo diversi messaggi con diverso tipo di priorità // Ci sono sette livelli di logging, possiamo scegliere // un metodo specifico per il livello desiderato o // usare il generico metodo log logger.severe("Errore grave "); logger.warning("Avvertimento"); logger.log(Level.WARNING,"Anche questo è un'avvertimento"); logger.info("Informazione su.."); logger.config("Un messaggio di configurazione"); logger.fine("Un messaggio di debug fine"); logger.finer("Un messaggio di debug più fine "); logger.finest("Un messaggio di debug ancora più fine "); logger.log(Level.FINEST,"Anche questo è un messaggio finest"); } } Se ad esempio utilizziamo questa classe passando come argomenti C:\log\myfirst.log ALL potremo leggere sul file di log indicato tutti i messaggi. Se invece passiamo come argomenti C:\log\myfirst.log CONFIG leggeremo nel file di log solo i primi cinque messaggi perché la priorità associata ai messaggi successivi è minore del livello di log impostato (CONFIG).
|