\n\n\n\n Come Configurare il Logging con Ollama (Passo dopo Passo) - AgntKit \n

Come Configurare il Logging con Ollama (Passo dopo Passo)

📖 8 min read1,587 wordsUpdated Apr 5, 2026

Come Configurare il Logging con Ollama: Una Guida Passo-Passo

Se sei stanco delle soluzioni di logging generiche e desideri un approccio personalizzato, configurare il logging con Ollama è la scelta giusta. Con il repository GitHub di Ollama che vanta 165.618 stelle, è chiaro che gli sviluppatori si stanno unendo a questo framework. Tuttavia, se scorri i tutorial tipici, troverai molta superficialità e non abbastanza passaggi concreti. Ecco un tutorial diretto per aiutarti a illustrare il comportamento del dispositivo in un modo che non sia solo efficace ma essenziale per il debug di applicazioni complicate.

Prerequisiti

  • Python 3.11+
  • Ollama installato (versione più recente consigliata)
  • Conoscenze di base di Python e logging

Quindi, prima di entrare nei dettagli, assicurati di avere il tuo ambiente sistemato. Se ti manca Ollama, procedi e installalo con il seguente comando:

pip install ollama

Passo 1: Configurazione di Base del Logging

La prima cosa da fare è sistemare la configurazione di base del logging. Questo è non negoziabile. È la spina dorsale della capacità di logging della tua applicazione.

import logging

# Configura il logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

logger = logging.getLogger(__name__)

logger.info('Il logging è stato impostato!')

Puoi notare che la configurazione del logging include un timestamp, il livello di log e il messaggio di log. Questo è fondamentale perché, senza un timestamp, il debug diventa un gioco di ipotesi. Impostalo a un livello inferiore rispetto a INFO se desideri meno verbosità, ma tieni presente che vorrai più informazioni quando le cose vanno male.

Non posso dirti quante volte ho sprecato tempo a setacciare log che non mi fornivano dati temporali rilevanti. È come trovare un ago in un pagliaio. Quindi abituati ad avere un formato di log chiaro fin dall’inizio.

Passo 2: Integrazione del Logging di Ollama

Ora, poiché Ollama ha i suoi meccanismi per il logging, dobbiamo legarlo a quanto abbiamo impostato.

from ollama import Ollama

# Inizializza Ollama
ollama_instance = Ollama()

# Integra il logging di Ollama con il nostro logger
ollama_instance.on_event = logger.info

logger.info('Ollama è stato inizializzato!')

Ecco il colpo di scena: il sistema di logging degli eventi di Ollama funziona in modo asincrono. Potresti pensare che sia semplice come collegare i punti. Ma fai attenzione perché se salti la comprensione di come scattano gli eventi, vedrai ritardi nei tuoi log che potrebbero farti pensare che la tua applicazione stia andando in crash. I log sono il tuo primo alleato per capire queste cose, quindi fai attenzione!

Passo 3: Logging di Diversi Livelli di Informazione

Ollama supporta diversi livelli di logging: INFO, WARNING, ERROR e DEBUG, tra gli altri. E non dovresti registrare tutto allo stesso livello. Diversi log indicano diverse gravità e un logging troppo casuale degli errori può seppellire messaggi importanti nel rumore.

# Registra vari tipi di messaggi
logger.info('Un messaggio informativo')
logger.warning('Un messaggio di avviso')
logger.error('Si è verificato un errore')
logger.debug('Questo è un messaggio di debug')

Assicurati di comprendere lo scopo di ciascun livello di log. WARNING può aiutare a mettere in evidenza potenziali problemi prima che escano di mano, mentre ERROR dovrebbe essere riservato alle situazioni in cui l’app va in crash. Usa DEBUG durante lo sviluppo; affollerà i tuoi log in produzione.

Passo 4: Gestire Errori ed Eccezioni

Okay, ora le cose si complicano. Incontrerai errori, è garantito. Se non hai una corretta gestione delle eccezioni, non solo la tua app andrà in crash, ma non avrai nemmeno idea di cosa l’abbia causato. Fidati di me; ci sono passato.

try:
 result = ollama_instance.process("input data")
except Exception as e:
 logger.error(f'Errore durante l\'elaborazione dei dati: {str(e)}')

Con la gestione degli errori in atto, ottieni informazioni su cosa stia andando storto. Se l’hai impostato correttamente, i tuoi log ti diranno esattamente dove le cose sono andate male. Questo può essere un salvavita quando stai eseguendo un’applicazione in produzione che interagisce con gli utenti in tempo reale.

Passo 5: Archiviare i Log per Accesso Persistente

Siamo onesti: registrare nella console è utile solo fino a quando la tua console non diventa un buco nero di informazioni. Hai bisogno di un modo per archiviare quei dati. Considera di salvare i log in un file per riferimento storico.

import os

# Assicurati che la directory dei log esista
log_directory = 'logs'
if not os.path.exists(log_directory):
 os.makedirs(log_directory)

# Imposta un gestore di file
file_handler = logging.FileHandler(os.path.join(log_directory, 'application.log'))
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
logger.addHandler(file_handler)

logger.info('Il file di log è stato creato!')

Questo frammento crea una directory separata per i log. È una cosa semplice, ma non avere file di log separati può renderti la vita infernale quando devi setacciare i log settimane o mesi dopo. Non posso sottolinearlo abbastanza.

Passo 6: Testare la Configurazione del Logging

Hai tutto configurato? È tempo di testare quei log. Esegui la tua applicazione o script e vedi se riesci a generare alcuni messaggi di log. Vuoi assicurarti che tutti i livelli siano registrati correttamente.

logger.debug('Questo è un messaggio di debug di prova')
logger.info('Questo è un messaggio informativo di prova')
logger.warning('Questo è un messaggio di avviso di prova')
logger.error('Questo è un messaggio di errore di prova')

Una volta eseguito, controlla l’output della console e il file di log che hai creato. Se i messaggi ci sono, congratulazioni! Sei sulla strada giusta. Se non ci sono, ripassa le tue impostazioni. Può sembrare noioso.

I Problemi

Mentre segui questa configurazione, ecco alcune cose che possono darti problemi in futuro.

  • Dimensione del File di Log: Fai attenzione alla dimensione del file di log. Col tempo, quei file possono diventare ingombranti. Implementa la rotazione dei log.
  • Livelli di Log in Produzione: Evita i log DEBUG in produzione. Creano rumore e possono esporre dati sensibili.
  • Problemi Asincroni: Fai attenzione alla sicurezza dei thread se stai eseguendo in un ambiente multi-thread. I log potrebbero confondersi se due thread cercano di scrivere contemporaneamente.
  • Import mancanti: Assicurati che le librerie necessarie siano importate; mancarne anche solo una può portare a errori di ‘Modulo non trovato’ che possono fermare i tuoi progressi.
  • Variabili di Ambiente: Controlla sempre il tuo ambiente per le variabili. A volte, un’impostazione trascurata può farti perdere messaggi di log critici.

Esempio Completo di Codice

Ora, ecco tutto assemblato in un unico script coeso per riferimento. Include tutti i passaggi che abbiamo trattato finora:

import logging
import os
from ollama import Ollama

# Configura il logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

# Assicurati che la directory dei log esista
log_directory = 'logs'
if not os.path.exists(log_directory):
 os.makedirs(log_directory)

# Imposta il gestore di file
file_handler = logging.FileHandler(os.path.join(log_directory, 'application.log'))
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
logger.addHandler(file_handler)

# Inizializza Ollama
ollama_instance = Ollama()
ollama_instance.on_event = logger.info

logger.info('Applicazione avviata! Logging è stato impostato.')

try:
 result = ollama_instance.process("input data")
except Exception as e:
 logger.error(f'Errore durante l\'elaborazione dei dati: {str(e)}')

logger.info('Elaborazione completata!') 
logger.debug('Questo è un messaggio di debug di prova')
logger.info('Questo è un messaggio informativo di prova')
logger.warning('Questo è un messaggio di avviso di prova')
logger.error('Questo è un messaggio di errore di prova')

Copia e incolla questo frammento nel tuo editor e dovrebbe darti un buon avvio. Personalizza i livelli di log in base alle tue esigenze e assicurati che i tuoi percorsi siano corretti se lo sposti tra macchine.

Cosa C’è Dopo?

Porta il tuo logging al livello successivo integrandolo con strumenti di monitoraggio. Strumenti come Grafana o Splunk possono aggregare i tuoi log, rendendoli ancora più utili per l’analisi. Il tempo che investi nel tuo logging ora ti ripagherà quando dovrai risolvere problemi in seguito.

FAQ

Q: Quanto spesso dovrei registrare gli stati della mia applicazione?

A: Registra eventi e stati significativi piuttosto che ogni passo. Troppo rumore può rendere difficile setacciare ciò che sta realmente succedendo; punta a un equilibrio.

Q: Posso registrare dati sensibili?

A: No, non registrare mai informazioni sensibili come password o dati personali. Fai una regola per sanificare qualsiasi input dell’utente prima di registrarlo.

Q: Qual è il beneficio di usare un formato di log personalizzato?

A: Formati personalizzati aiutano a identificare rapidamente gli eventi di log a colpo d’occhio. Rendono più snello il processo di debug. Ognuno ha le proprie preferenze, quindi personalizzalo in un modo che soddisfi le esigenze del tuo team.

Diverse Persone di Sviluppatori

Se stai lavorando sul logging con Ollama, ecco alcuni consigli basati sulla tua esperienza:

Sviluppatori Nuovi: Concentrati prima di tutto sul padroneggiare le basi. Assicurati di comprendere come funziona il logging prima di personalizzare qualsiasi funzione o integrarlo in progetti più grandi. Vuoi una base solida.

Sviluppatori Intermedi: Inizia a integrare il logging nei tuoi flussi di lavoro, utilizzando strumenti di gestione dei log esterni. Beneficeresti dall’ottimizzazione dello storage dei log e dall’implementazione della rotazione dei log per ridurre l’ingombro.

Sviluppatori Senior: La stress testing della tua configurazione di logging è fondamentale. Dovresti stabilire standard per le pratiche di logging all’interno del tuo team e iterare sulle prestazioni dopo avere analizzato i log per eventuali punti critici o colli di bottiglia.

Dati aggiornati al 20 marzo 2026. Fonti: GitHub – ollama, Bronto Blog

Articoli Correlati

🕒 Published:

✍️
Written by Jake Chen

AI technology writer and researcher.

Learn more →
Browse Topics: comparisons | libraries | open-source | reviews | toolkits
Scroll to Top