You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Matteo Benedetto d6fa55cb5d Refactor logging configuration and update log format options 1 year ago
lib Refactor logging configuration and add log format options 1 year ago
.env Refactor logging configuration and add log format options 1 year ago
.gitignore first commit 1 year ago
README.md Refactor logging configuration and update log format options 1 year ago
main.py Refactor logging configuration and add log format options 1 year ago
more.py Refactor logging configuration and add log format options 1 year ago

README.md

Logger Test Application

Questa applicazione è progettata per testare una libreria che standardizza la generazione di log. Utilizza un formato di log configurabile tramite variabili d'ambiente e supporta sia formati leggibili che JSON.

Struttura del Progetto

.
├── .env
├── .gitignore
├── lib/
│   ├── __init__.py
│   └── log.py
├── main.py
├── more.py
└── README.md

Configurazione

Le configurazioni per il logger sono definite nel file [.env]. Ecco un esempio di configurazione:

'''.env LOG_NAME=logtest LOG_LEVEL=WARNING LOG_PATTERN='[%(asctime)s] %(levelname)s in %(filename)s:%(lineno)d: %(message)s' LOG_FORMAT=json LOG_EXTRA='cause,ansia' '''

  • LOG_NAME: Nome del logger.
  • LOG_LEVEL: Livello di log (DEBUG, INFO, WARNING, ERROR, CRITICAL).
  • LOG_PATTERN: Pattern per il formato leggibile.
  • LOG_FORMAT: Formato del log [json] o [human].
  • LOG_EXTRA: Campi extra da includere nei log.

Utilizzo

Esecuzione del Programma

Per eseguire il programma, assicurati di avere Python installato e di aver configurato il file [.env]. Poi esegui:

python main.py

Esempio di Output

A seconda della configurazione, l'output dei log sarà in formato leggibile o JSON. Ecco un esempio di output in formato JSON:

{
    "name": "logtest",
    "msg": "Questo è un messaggio di errore",
    "levelname": "ERROR",
    "levelno": 40,
    "pathname": "main.py",
    "filename": "main.py",
    "module": "main",
    "lineno": 10,
    "funcName": "<module>",
    "created": 1633024800.0,
    "msecs": 123.456,
    "relativeCreated": 1234.567,
    "thread": 12345,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 1234,
    "hostname": "hostname",
    "pid": 1234,
    "cause": "non so",
    "ansia": "molta"
}

Codice

[lib/log.py]

Questo file contiene la configurazione del logger e la definizione del formatter JSON.

[main.py]

Questo file contiene il punto di ingresso principale dell'applicazione e alcuni esempi di log.

[more.py]

Questo file contiene ulteriori operazioni di log e una classe di esempio che utilizza il logger.

Contributi

Se desideri contribuire a questo progetto, sentiti libero di aprire una pull request o di segnalare problemi tramite il sistema di issue di GitHub.

Licenza

Questo progetto è rilasciato sotto la licenza MIT. Vedi il file LICENSE per maggiori dettagli.