Skip to content
Prof. Mancuso Antonio edited this page Dec 18, 2022 · 8 revisions

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()

###################################################################################

Come aggiungere il loggin al codice di SARP

Il logger di SARP fornisce 4 livelli distinti:

  1. DEBUG: log utilizzato solo per messaggi di debug per gli sviluppatori (disabilitato in produzione)
  2. INFO: log utilizzato per stampare generiche informazioni relative all'esecuzione del programma (livello standard in produzione)
  3. WARN: log utilizzato per tracciare un warning, quindi un qualcosa che deve destare attenzione ma non inficia il funzionamento di SARP
  4. ERROR: log utilizzato per riportare una situazione di errore in SARP

Loggin lato client

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

Loggin lato 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

Come loggare il contenuto di un oggetto

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"}