-
Notifications
You must be signed in to change notification settings - Fork 4
Loggin
Dalla versione 0.4.0 SARP supporta il loggin unificato. In altre parole viene fornita allo svilupaptore un'unica interfaccia per effettuare il log sia lato client che lato server. Tutti i log sono raccolti in un file, configurabile dal file .env, sul server e il file di log viene rotato giornalmente e compresso.
###################################################################################
Pertanto dalla version 0.4.0 di SARP è vietato fare il commit di log sulla console con console.log()
###################################################################################
Il logger di SARP fornisce 4 livelli distinti:
- DEBUG: log utilizzato solo per messaggi di debug per gli sviluppatori (disabilitato in produzione)
- INFO: log utilizzato per stampare generiche informazioni relative all'esecuzione del programma (livello standard in produzione)
- WARN: log utilizzato per tracciare un warning, quindi un qualcosa che deve destare attenzione ma non inficia il funzionamento di SARP
- ERROR: log utilizzato per riportare una situazione di errore in SARP
Nei file lato client, +page.svelte è possibile effettuare il lgo in questo modo:
import { Logger } from '../../js/logger'; //importo la classe che fornisce il Logger
let logger = new Logger("client"); // creo un client logger
// stamo messaggi di log su 4 livelli
logger.debug("Log di livello DEBUG da codice client");
logger.info("Log di livello INFO da codice client");
logger.warn("Log di livello WARN da codice client");
logger.error("Log di livello ERROR da codice client");
Questo è ciò che verra loggato nel file di log di SARP
[2022-12-17-13:58:43] DEBUG: [server] - Log di livello DEBUG da codice server
[2022-12-17-13:58:43] INFO: [server] - Log di livello INFO da codice server
[2022-12-17-13:58:43] WARN: [server] - Log di livello WARN da codice server
[2022-12-17-13:58:43] ERROR: [server] - Log di livello ERROR da codice server
Nei file lato server, +page.server.js è possibile effettuare il lgo in questo modo:
import { Logger } from '../../js/logger'; //importo la classe che fornisce il Logger
let logger = new Logger("server"); // creo un server logger
// stamo messaggi di log su 4 livelli
logger.debug("Log di livello DEBUG da codice server");
logger.info("Log di livello INFO da codice server");
logger.warn("Log di livello WARN da codice server");
logger.error("Log di livello ERROR da codice server");
Questo è ciò che verra loggato nel file di log di SARP
[2022-12-17-13:58:43] DEBUG: [client] - Log di livello DEBUG da codice client
[2022-12-17-13:58:43] INFO: [client] - Log di livello INFO da codice client
[2022-12-17-13:58:43] WARN: [client] - Log di livello WARN da codice client
[2022-12-17-13:58:43] ERROR: [client] - Log di livello ERROR da codice client
I metodi di logger accettano una stringa, pertanto non è direttamente possibile passare un oggetto. Al fine di fare il log di un oggetto dobbiamo procedere nel seguente modo:
let oggetto = {nome: 'Antonio', cognome: 'Mancuso'};
logger.debug(`Ecco l'oggetto utente ${JSON.stringify(oggetto)}`);
Ciò genererà il seguente log:
[2022-12-17-16:23:56] DEBUG: [client] - Ecco l'oggetto utente {"nome":"Antonio","cognome":"Mancuso"}