\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,599 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 su misura, configurare il logging con Ollama è la scelta giusta. Con il repository GitHub di Ollama che conta 165.618 stelle, è chiaro che gli sviluppatori si stanno radunando attorno a questo framework. Tuttavia, se scorrete i tutorial tipici, troverete molte chiacchiere e non abbastanza passaggi concreti. Ecco un tutorial senza fronzoli per iniziare a illustrare il comportamento del dispositivo in un modo che non sia solo efficace, ma essenziale per il debug di applicazioni complesse.

Prerequisiti

  • Python 3.11+
  • Ollama installato (preferibilmente l’ultima versione)
  • Conoscenza di base di Python e logging

Quindi prima di immergerci nel passo-passo, assicurati di aver sistemato il tuo ambiente. Se ti manca Ollama, procedi a scaricarlo con il seguente comando:

pip install ollama

Passo 1: Configurazione di Base del Logging

La prima cosa da fare è impostare correttamente la configurazione 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 configurato!')

Puoi vedere 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 indovinelli. 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 rilevanti nel tempo. È come cercare 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, dato che Ollama ha i propri meccanismi per il logging, dobbiamo integrarli con ciò che abbiamo già 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 un particolare: il sistema di logging degli eventi di Ollama funziona in modo asincrono. Potresti pensare che sia così semplice come collegare i punti. Ma fai attenzione, perché se salti la comprensione di come vengono attivati gli eventi, vedrai dei 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 situazioni, 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. Log diversi indicano severità diverse, e registrare errori in modo troppo casuale può seppellire messaggi importanti nel rumore.

# Registra vari tipi di messaggi
logger.info('Un messaggio informativo')
logger.warning('Un messaggio di avvertimento')
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 fuori controllo, mentre ERROR dovrebbe essere riservato a situazioni che provocano il crash della tua app. Usa DEBUG durante lo sviluppo; ingombrerà i tuoi log in produzione.

Passo 4: Gestire Errori ed Eccezioni

Bene, ora le cose si fanno complicate. È garantito che affronterai errori. Se non hai una corretta gestione delle eccezioni, non solo il tuo app andrà in crash, ma non avrai idea di cosa lo abbia causato. Fidati, 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, ottieni informazioni su cosa sta andando storto. Se l’hai impostata correttamente, i tuoi log ti diranno esattamente dove le cose si sono guastate. Questo può essere un salvatore in situazioni in cui stai eseguendo un’applicazione in produzione che interagisce con gli utenti in tempo reale.

Passo 5: Memorizzare i Log per Accesso Persistente

Siamo onesti: registrare su console è utile solo fino a quando la tua console non diventa un buco nero per le informazioni. Hai bisogno di un modo per memorizzare 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)

# Configura 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ò rendere la tua vita un inferno quando devi setacciare i log settimane o mesi dopo. Non posso sottolinearlo abbastanza.

Passo 6: Testare la Configurazione del Logging

Hai tutto impostato? È il momento di testare quei log. Esegui la tua applicazione o script e verifica se riesci a generare alcuni messaggi di log. Vuoi assicurarti di registrare correttamente tutti i livelli.

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

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, rivedi le tue impostazioni. Può sembrare noioso.

Le Insidie

Mentre segui questo setup, ecco alcune cose che potrebbero potenzialmente darti problemi in futuro.

  • Dimensione del File di Log: Fai attenzione alla dimensione del file di log. Nel tempo, quei file possono diventare ingestibili. 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 multithread. I log potrebbero confondersi se due thread cercano di scrivere contemporaneamente.
  • Import Mancanti: Assicurati di importare le librerie necessarie; mancare solo un’importazione può provocare errori di ‘Modulo non trovato’ che possono fermare i tuoi progressi.
  • Variabili Ambientali: 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 uno script coeso per riferimento. Include tutti i passaggi che abbiamo affrontato 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 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)

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

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

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 test')
logger.info('Questo è un messaggio informativo di test')
logger.warning('Questo è un messaggio di avvertimento di test')
logger.error('Questo è un messaggio di errore di test')

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 stai trasferendo questo 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 si tratta di risolvere problemi in seguito.

FAQ

Q: Con quale frequenza dovrei registrare gli stati della mia applicazione?

A: Registra eventi e stati significativi piuttosto che registrare ogni singolo passaggio. Troppo rumore può rendere difficile setacciare ciò che sta veramente accadendo; punta a un equilibrio.

Q: Posso registrare dati sensibili?

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

Q: Qual è il vantaggio di utilizzare un formato di log personalizzato?

A: I formati personalizzati aiutano a identificare rapidamente gli eventi di log a colpo d’occhio. Snelliscono il processo di debugging. 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:

Nuovi Sviluppatori: Concentra l’attenzione sulla padronanza delle basi prima. Assicurati di comprendere come funziona il logging prima di personalizzare qualsiasi caratteristica o integrarlo in progetti più ampi. Vuoi una base solida.

Sviluppatori di Livello Intermedio: Inizia a integrare il logging nei tuoi flussi di lavoro, utilizzando strumenti di gestione dei log esterni. Trarrai vantaggio dall’ottimizzare la memorizzazione dei log e dall’implementare la rotazione dei log per ridurre l’ingombro.

Sviluppatori Senior: Testare la tua configurazione di logging è fondamentale. Dovresti stabilire degli standard per le pratiche di logging all’interno del tuo team e iterare sulle prestazioni dopo aver analizzato i log per eventuali problemi 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