@_zitus_/simple-logger
Version:
A simple colorful logger for console and files
115 lines (79 loc) • 3.34 kB
Markdown
# simple-logger
Un semplice e potente logger per Node.js che colora l’output in console, stampa un banner all’avvio e, se richiesto, scrive i log su file.
## Caratteristiche
- 🌈 **Colori in console** per ciascun livello di log
- 📝 **Scrittura su file** con creazione automatica di directory e file
- 🚀 **Banner di avvio** personalizzabile
- ⚙️ **Configurazione modulare** (livelli, directory, formati)
- 🔄 **Aggiornabile** facilmente con versioning semantico
## Installazione
```bash
npm install @_zitus_/simple-logger
```
## Utilizzo
1. **Import** del modulo:
```js
const log = require('@_zitus_/simple-logger');
```
2. **Inizializza** il logger e mostra il banner all’avvio:
```js
log.init('MyApp');
// ***********************
// * MyApp avviata *
// * 2025-07-01 14:23:05 *
// ***********************
```
3. **Loggare** messaggi in console (e opzionalmente su file):
```js
log.info('Server in ascolto sulla porta 3000');
log.warn('Memoria al 90%', true); // log e salva in logs/application_warn.log
log.error('Connessione al DB fallita', true);
log.success('Database migrato correttamente');
```
## API
| Metodo | Descrizione | Parametri |
| -------------------------------- | -------------------------------------------------- | --------------------------------------------- |
| `log.init(appName)` | Stampa un banner con nome app e timestamp corrente | `appName` (string, opzionale, default: `App`) |
| `log.info(msg, inFile=false)` | Log di tipo **info** (ciano) | `msg` (string), `inFile` (boolean) |
| `log.warn(msg, inFile=false)` | Log di tipo **warn** (giallo) | `msg` (string), `inFile` (boolean) |
| `log.error(msg, inFile=false)` | Log di tipo **error** (rosso) | `msg` (string), `inFile` (boolean) |
| `log.success(msg, inFile=false)` | Log di tipo **success** (verde) | `msg` (string), `inFile` (boolean) |
## Esempio Completo
```js
// app.js
const log = require('@_zitus_/simple-logger');
// Inizializza e mostra il banner
log.init('MyCoolApp');
// Log standard in console
log.info('Applicazione avviata');
// Log con salvataggio su file
log.warn('CPU in sovraccarico', true);
log.error('Errore critico durante il backup', true);
log.success('Backup completato con successo', true);
```
All’avvio di `node app.js` otterrai:
```
***********************
* MyCoolApp avviata *
* 2025-07-01 14:23:05 *
***********************
2025-07-01 14:23:05 | 🚀 | [INFO] | Applicazione avviata
...
```
## Configurazione Avanzata
- **Modificare la directory di log**: modifica la costante `DEFAULT_LOG_DIR` in `index.js`
- **Aggiungere nuovi livelli**: espandi l’oggetto `ICONS` e crea un metodo corrispondente
- **Supporto async**: puoi sostituire `fs` con `fs.promises` per operazioni non bloccanti
- **Colori personalizzati**: integra [chalk](https://www.npmjs.com/package/chalk) per palette avanzate
## Contribuire
PR e issue benvenuti su [GitHub](https://github.com/zitus91/simple-logger)
## Licenza
MIT © Francesco Zito