Differenze tra le versioni di "Impostazione livelli di logging"

Da wiki.maggioli.it.
Jump to navigation Jump to search
imported>Root
imported>Root
Riga 1: Riga 1:
La finestra di impostazione livelli di logging permette di creare e manipolare i logger.  
La finestra di impostazione livelli di logging permette di creare e manipolare i logger (vedi dopo per una definizione di logger).
 
L'interfaccia visualizza tutti i logger attivi nell'intero sistema. Tali logger sono degli "override" rispetto al livello di logging impostato nel file logging.properties della macchina virtuale. Pertanto, se non e' attivo un logger specifico, vale il livello di logging impostato nel file di properties.  


== Cosa e' un Logger ==
== Cosa e' un Logger ==
Riga 7: Riga 9:
* scope: indica a quali sessioni di lavoro applicare l'impostazione (vedi dopo per dettagli).  
* scope: indica a quali sessioni di lavoro applicare l'impostazione (vedi dopo per dettagli).  


=== Scope di un Logger ===
==== Scope di un Logger ====
Se si effettua il logging su un sistema che ospita più database e molti utenti che stanno lavorando per ogni database, è necessario selezionare per quali sessioni di lavoro generare i log al fine di evitare una produzione di log esagerata che risulta in alcuni casi impossibile da interpretare.
Se si effettua il logging su un sistema che ospita più database e molti utenti che stanno lavorando per ogni database, è necessario selezionare per quali sessioni di lavoro generare i log al fine di evitare una produzione di log esagerata che risulta in alcuni casi impossibile da interpretare.
* sessione corrente: causa la generazione di log solamente per la sessione corrente. Se l'utente corrente effettua dei login lato server (generando nuove sessioni) queste non vengono loggate.
* sessione corrente: causa la generazione di log solamente per la sessione corrente. Se l'utente corrente effettua dei login lato server (generando nuove sessioni) queste non vengono loggate.
* utente corrente: causa la generazione di log per tutte le sessioni dell'utente corrente, sia quella interattiva che eventuali altre sessioni lato server.
* utente corrente: causa la generazione di log per tutte le sessioni dell'utente corrente, sia quella interattiva che eventuali altre sessioni lato server.
* utente: come il caso precedente ma è possibile definire un utente applicativo scegliendolo tra quelli disponibili nel database.
* utente: come il caso precedente ma è possibile definire un utente applicativo scegliendolo tra quelli disponibili nel database.
* j2ee corrente: effettua il logging per tutte le sessioni relative all'utente j2ee corrente (quindi tutti gli utenti applicativi)
* j2ee corrente: effettua il logging per tutte le sessioni relative all'utente j2ee corrente (quindi tutti gli utenti applicativi del database corrente)
* globale: effettua il logging per tutte le sessioni di tutti i database.
* globale: effettua il logging per tutte le sessioni di tutti i database.
== Creare un nuovo Logger ==
Per aggiungere un logger alla lista dei logger attivi è necessario crearlo, specificando per prima cosa il nome.
E' possibile digitare il nome completo nel box "Nuovo logger" oppure si può utilizzare il pulsante "Recenti" che mostra una lista degli ultimi logger creati nel sistema. Il pulsante "Recenti" è disponibile fintanto che il box "Nuovo logger" è vuoto. Se invece il box contiene un testo, il tasto si commuta in "Cerca". Premendolo si effettua una ricerca tra i logger che attualmente sono stati caricati nella memoria del server. Pertanto è possibile che un logger che si sa essere disponibile non venga trovato perchè il server è stato appena riavviato e il logger in oggetto non è ancora stato utilizzato dall'applicativo. In questo caso è sempre possibile sfruttare i recenti oppure digitare manualmente l'intero nome nel box.
Esiste anche la possibilità di digitare degli shortcut per i vari moduli applicativi. Digitando il prefisso di applicazione e premendo tab, tale prefisso si espande nel package dell'applicativo. A quel punto è possibile premere il pulsante di ricerca per vedere tutti i logger attualmente registrati nel sistema sotto quel package.
Una volta specificato il nome, è necessario specificare lo scope nel campo successivo. Di default lo scope è "Utente corrente" in quanto rappresenta la scelta più bilanciata. Scelto lo scope, premendo il pulsante "Crea" viene creato il nuovo logger e questo compare nella lista dei logger attivi.
== Modificare un Logger ==
I nuovi logger vengono creati con i livelli di logging client e server pari a quanto definito nei file logging.properties delle rispettive macchine client e server, in modo che la loro creazione non alteri lo stato delle cose. A questo punto è possibile modificare i livelli di logging cliccando sulle celle da modificare.
E' anche possibile specificare un valore mnemonico per il logger. In tal caso il valore viene preposto ai messaggi stampati sulla console client o server, facilitandone l'individuazione.
Altri valori come il nome o lo scope non sono modificabili, è necessario creare un nuovo logger con un altro nome/scope se necessario.
== Rimuovere un Logger attivo ==
Per rimuovere un logger è sufficiente cancellarlo dalla lista. Non è necessario reimpostare il livello di logging al valore originario. Il sotto sistema di logging si prende l'onere di ripristinare automaticamente i livelli originali.
== Efficacia degli scope ==
Lo scope "Globale" ha effetto su tutto il codice eseguito dal server mentre gli altri scope più specifici hanno effetto solamente per il codice che effettua il logging tramite le API della suite. Pertanto se si ha necessità di loggare le operazioni eseguite da librerie di terze parti installate nel sistema, l'unica possibilità è "Globale".

Versione delle 11:09, 19 ott 2017

La finestra di impostazione livelli di logging permette di creare e manipolare i logger (vedi dopo per una definizione di logger).

L'interfaccia visualizza tutti i logger attivi nell'intero sistema. Tali logger sono degli "override" rispetto al livello di logging impostato nel file logging.properties della macchina virtuale. Pertanto, se non e' attivo un logger specifico, vale il livello di logging impostato nel file di properties.

Cosa e' un Logger

In sostanza un logger è una combinazione di un nome, un livello ed uno scope.

  • nome: indica l'argomento del logging. In generale è il nome di una classe java presente nell'applicativo. L'applicativo deve prevedere un logger con tale nome e loggare messaggi di debug con tale logger, a vari livelli di importanza. Se l'applicativo non prevede un logger, non sarà possibile ottenere alcun risultato.
  • livello: indica quanto specifica deve essere l'informazione loggata. SEVERE indica di loggare solo i messaggi più importanti mentre FINEST indica di loggare qualsiasi tipo di messaggio, anche il più dettagliato. Tipicamente il livello FINEST produce moltissimo log, pertanto è necessario utilizzarlo con cautela.
  • scope: indica a quali sessioni di lavoro applicare l'impostazione (vedi dopo per dettagli).

Scope di un Logger

Se si effettua il logging su un sistema che ospita più database e molti utenti che stanno lavorando per ogni database, è necessario selezionare per quali sessioni di lavoro generare i log al fine di evitare una produzione di log esagerata che risulta in alcuni casi impossibile da interpretare.

  • sessione corrente: causa la generazione di log solamente per la sessione corrente. Se l'utente corrente effettua dei login lato server (generando nuove sessioni) queste non vengono loggate.
  • utente corrente: causa la generazione di log per tutte le sessioni dell'utente corrente, sia quella interattiva che eventuali altre sessioni lato server.
  • utente: come il caso precedente ma è possibile definire un utente applicativo scegliendolo tra quelli disponibili nel database.
  • j2ee corrente: effettua il logging per tutte le sessioni relative all'utente j2ee corrente (quindi tutti gli utenti applicativi del database corrente)
  • globale: effettua il logging per tutte le sessioni di tutti i database.

Creare un nuovo Logger

Per aggiungere un logger alla lista dei logger attivi è necessario crearlo, specificando per prima cosa il nome.

E' possibile digitare il nome completo nel box "Nuovo logger" oppure si può utilizzare il pulsante "Recenti" che mostra una lista degli ultimi logger creati nel sistema. Il pulsante "Recenti" è disponibile fintanto che il box "Nuovo logger" è vuoto. Se invece il box contiene un testo, il tasto si commuta in "Cerca". Premendolo si effettua una ricerca tra i logger che attualmente sono stati caricati nella memoria del server. Pertanto è possibile che un logger che si sa essere disponibile non venga trovato perchè il server è stato appena riavviato e il logger in oggetto non è ancora stato utilizzato dall'applicativo. In questo caso è sempre possibile sfruttare i recenti oppure digitare manualmente l'intero nome nel box.

Esiste anche la possibilità di digitare degli shortcut per i vari moduli applicativi. Digitando il prefisso di applicazione e premendo tab, tale prefisso si espande nel package dell'applicativo. A quel punto è possibile premere il pulsante di ricerca per vedere tutti i logger attualmente registrati nel sistema sotto quel package.

Una volta specificato il nome, è necessario specificare lo scope nel campo successivo. Di default lo scope è "Utente corrente" in quanto rappresenta la scelta più bilanciata. Scelto lo scope, premendo il pulsante "Crea" viene creato il nuovo logger e questo compare nella lista dei logger attivi.

Modificare un Logger

I nuovi logger vengono creati con i livelli di logging client e server pari a quanto definito nei file logging.properties delle rispettive macchine client e server, in modo che la loro creazione non alteri lo stato delle cose. A questo punto è possibile modificare i livelli di logging cliccando sulle celle da modificare.

E' anche possibile specificare un valore mnemonico per il logger. In tal caso il valore viene preposto ai messaggi stampati sulla console client o server, facilitandone l'individuazione.

Altri valori come il nome o lo scope non sono modificabili, è necessario creare un nuovo logger con un altro nome/scope se necessario.

Rimuovere un Logger attivo

Per rimuovere un logger è sufficiente cancellarlo dalla lista. Non è necessario reimpostare il livello di logging al valore originario. Il sotto sistema di logging si prende l'onere di ripristinare automaticamente i livelli originali.

Efficacia degli scope

Lo scope "Globale" ha effetto su tutto il codice eseguito dal server mentre gli altri scope più specifici hanno effetto solamente per il codice che effettua il logging tramite le API della suite. Pertanto se si ha necessità di loggare le operazioni eseguite da librerie di terze parti installate nel sistema, l'unica possibilità è "Globale".