# Log

Log è un termine comunemente usato nell'informatica, specie in ambito sistemistico, con diversi significati.

## Storia

In inglese log significa tronco di legno; nel gergo nautico del XVIII secolo era il pezzo di legno fissato a una fune con nodi a distanza regolare, lanciato in mare e lasciato galleggiare (solcometro). Il numero di nodi fuori bordo entro un intervallo fisso di tempo indicava, approssimativamente, la velocità della nave (da qui la convenzione di indicare la velocità di una nave in nodi).
Il logbook nel XIX secolo era il registro di navigazione presente su ogni nave, su cui venivano segnate, a intervalli regolari, la velocità, il tempo e la forza del vento, oltre a eventi significativi accaduti durante la navigazione. Con il significato di giornale di bordo, o semplicemente giornale oppure diario, su cui vengono registrati gli eventi in ordine cronologico, il termine è stato importato nell'informatica (1963). Spesso non è tradotto, come molti termini informatici. Moltissimi dispositivi hardware o applicazioni/strumenti software, nonché i più disparati tipi di computer, generano dei log in automatico o su impostazione, sintetici o analitici.

## Caratteristiche e uso

Il termine viene utilizzato per indicare:
* la registrazione sequenziale e cronologica delle operazioni effettuate da un utente, un amministratore o automatizzate, man mano che vengono eseguite dal sistema o dall'applicazione;
* il file o insieme di file su cui tali registrazioni sono memorizzate ed eventualmente accedute in fase di analisi dei dati, detto anche registro eventi.
Il log più semplice, dalle origini a oggi, è un file sequenziale sempre aperto in scrittura, che viene chiuso e conservato a cadenze regolari e reso disponibile per funzionalità di amministrazione e monitoraggio (logging) quali:
* analisi delle segnalazioni di errore,
* produzione di statistiche di esercizio, come ad esempio quelle del traffico nei servizi web
* ripristino di situazioni precedenti
* analisi delle modifiche fatte nella base dati
* analisi delle operazioni fatte e dei responsabili di tali operazioni
* riassunto di quanto successo in un determinato arco di tempo, ad esempio nelle chat
Il log può anche essere un segmento di base dati con accesso diretto mediante chiave cronologica (timestamp), ma il suo utilizzo come registro cronologico non cambia.

### Tipologia

In un sistema di elaborazione dati, compreso il PC casalingo, coesistono diversi tipi di log:
* Log di registrazione, riconoscimento e accesso: è il noto login o logon per l'accesso di un utente al sistema per la fruizione dei relativi servizi: i dati di accesso memorizzati sono registrati su apposito file per l'eventuale analisi. Anche l'uscita o logout può essere memorizzata.
* Log di sistema: in passato tipico dei mainframe e oggi dei server di rete, memorizza attraverso il relativo sistema operativo gli eventi significativi che intercorrono tra il sistema, come fornitore di servizi e le applicazioni, con i clienti dei servizi stessi, quindi inizio e fine di servizio e ogni condizione (codificata) diversa dal normale servizio.
* Log di base dati: in questo caso è il sistema gestore di base dati (DBMS) che registra le operazioni fatte sulla base dati: inserimento, aggiornamento, cancellazione di record. In DBMS evoluti, che forniscono servizi di tipo transazionale, il log è anche la base di riferimento per eseguire le funzioni di transazione completa (commit) o transazione annullata (rollback).
* Log di sicurezza: tipico di sistemi informatici complessi o destinati a ospitare dati particolarmente sensibili, memorizza tutte le operazioni che sono considerate critiche per l'integrità di dati e sistema nonché il controllo dei tentativi di accesso al sistema (autorizzati e non).
* Log di applicazione: molte applicazioni prevedono i propri log su cui sono registrati eventi caratteristici dell'applicazione e che fungono in certi casi da vero e proprio protocollo di entrata e di uscita. Ad esempio in programmazione il file di log evidenzia il tipo di errore e il punto nel codice da parte dell'IDE grazie al messaggio inviato dal canale di standard error (es. eccezioni).

## Termini ed espressioni correlate

Effettuare il login vuol dire accedere a un sistema per il quale è richiesta la procedura di autenticazione; il sistema pertanto richiederà i dati di accesso quali l'inserimento dei dati nome utente o username e in genere una password. La procedura opposta di uscita dal sistema/applicazione è detta invece logout.
Unito al termine web (web-log) indica un diario, appunto una registrazione cronologica, sotto forma di sito web, solitamente pubblico. La contrazione di web-log forma appunto il termine blog, termine comune con il quale viene indicato questo genere di sito web.