Cos'è Console
Console è l'app di macOS che mostra in tempo reale i log generati dal sistema operativo e da tutte le app. Si trova in Applicazioni > Utility > Console. È lo strumento per indagare crash di app, problemi di rete intermittenti, errori di stampanti, autenticazioni fallite e in generale qualsiasi malfunzionamento di cui macOS lascia traccia. Dal 2016 macOS usa un sistema di logging unificato (Unified Logging) che centralizza tutti i log in un'unico stream binario consultabile via Console o via comando log.
L'interfaccia
La barra laterale mostra le sorgenti: Dispositivi (Mac corrente e iPhone/iPad collegati), Report dei crash, Report di registro (log persistenti su disco), Report diagnostici. Cliccando sul Mac vedi lo stream in tempo reale di tutti i messaggi di sistema. Ogni messaggio include timestamp, processo che ha generato il messaggio, sottosistema, categoria, livello di gravità (default, info, debug, error, fault), tipo (regular, signpost, activity) e il messaggio testuale.
Streaming live e filtri
Lo stream live è rumoroso: migliaia di messaggi al secondo. Il barra di ricerca in alto è essenziale: filtra per processo (es. process:Safari), per categoria (category:network), per tipo (type:error), per messaggio (any:timeout). Combina filtri trascinando i token nella barra. Salva i filtri ricorrenti con File > Nuovo Salvataggio Ricerca: appariranno nella sidebar e li puoi richiamare con un click. Per ambiente aziendale crea ricerche salvate per i problemi tipici: VPN, stampante, Mail, gestionale.
Crash report
Quando un'app crasha macOS salva un .crash in ~/Library/Logs/DiagnosticReports. In Console vai su Crash Reports nella sidebar: ordina per data per trovare l'ultimo crash. Le sezioni importanti sono Exception Type (il tipo di errore), Crashed Thread (lo stack trace del thread che è andato in errore), Binary Images (le librerie caricate). Allega il crash report al ticket di supporto del vendor del software. I crash report sono testo: puoi anonimizzare manualmente eventuali path con dati sensibili (username, percorsi di file) prima di inviarli al vendor.
Log persistenti vs live
Lo stream live di Console non viene salvato di default: chiudendo Console perdi tutto. I log persistenti sono accessibili dalla sezione Log Reports nella sidebar. Per query storiche da terminale puoi usare log show: ad esempio log show --predicate 'process == "Mail"' --last 1h mostra l'ultimo'ora di log di Mail. Per intervalli più lunghi: log show --last 24h --predicate 'eventMessage contains "failed"'. La sintassi dei predicati è simile a NSPredicate di AppKit e supporta operatori complessi (AND, OR, IN, MATCHES).
Casi pratici aziendali
Problemi VPN? Filtra per process:com.apple.networkserviceproxy e per il processo del client VPN aziendale (es. process:CiscoSecureClient, process:GlobalProtect). Stampante che non risponde? Filtra process:cupsd per vedere errori CUPS. Mail aziendale che non sincronizza? process:Mail e cerca timeout o autenticazione fallita. Login utente lento? process:loginwindow e process:opendirectoryd. Wi-Fi instabile? subsystem:com.apple.wifi rivela handover, autenticazioni WPA2 fallite, scansioni canali.
Log di iPhone connesso
Console mostra anche i log dell'iPhone connesso via cavo. Utile per gli sviluppatori iOS per debug remoto, o per diagnosticare problemi di iPhone Mirroring e Continuity. Seleziona l'iPhone nella sidebar Dispositivi. Stessa interfaccia, stessi filtri. Per i log dell'iPhone è obbligatorio l'autenticazione (lo sblocco dell'iPhone con il codice).
Esportare log
Per condividere log con il supporto, seleziona i messaggi e usa File > Salva con nome. In alternativa esegui sudo sysdiagnose dal Terminale: genera un'archivio completo (sysdiagnose_*.tar.gz) con log, configurazioni di rete, snapshot di processi. Apple Support spesso lo richiede per casi complessi. Il sysdiagnose è grande (200-500MB) e contiene molte informazioni: passa via canale sicuro (file sharing aziendale, no email pubblica).
Privacy nei log
I log macOS contengono privacy redaction: campi sensibili appaiono come <private>. In ambito di sviluppo puoi disabilitare la redazione con sudo log config --mode "private_data:on": in produzione lascia sempre attivata la redazione per non esporre dati personali nei log condivisi.
Console pro tips
Usa Action > Include Info Messages e Include Debug Messages per vedere log di livello inferiore (utili per debug profondo, normalmente nascosti). Per cercare nei log storici e non solo nello stream attuale, usa il pannello Reports. Per analisi avanzate esporta i log come testo e processali con grep, awk, jq.
Log durante il boot
Per analizzare problemi che avvengono durante l'avvio del Mac (boot lento, freeze, kernel panic) usa log show --predicate 'eventMessage contains "boot"' --last 1h. Per kernel panic specifici cerca in /Library/Logs/DiagnosticReports i file con estensione .panic: documentano lo stato del kernel al momento del crash. Allegali ad Apple Support per analisi forense in caso di panic ripetuti.
Privacy delle informazioni nei log
I log macOS possono contenere informazioni sensibili come nomi file aperti, URL visitati, username. In ambienti con compliance regolamentare (GDPR, HIPAA) considera la sanitizzazione manuale dei sysdiagnose prima di inviarli all'esterno. Apple offre script di sanitizzazione automatica nei kit di troubleshooting per partner enterprise.
Hai bisogno di aiuto?
Se vuoi supporto Mac aziendale dal team di G Tech Group, scrivici tramite il modulo di contatto.