Console.app: vad är det, funktioner och hur man läser loggar i macOS

Författare: IT Sectr Publicerad: 2026-05-29 Lästid: 8 min

Console.app är en inbyggd macOS-applikation för att visa, filtrera och analysera system- och användarloggar. Den visar meddelanden från Apples unified logging-system (os_log) i realtid, vilket gör att utvecklaren kan se krascher, fel och felsökningsmeddelanden utan att ansluta till Xcode. Enligt Apple Support stöder Console.app filtrering efter subsystem, category, allvarlighetsgrad och process, samt export av loggar till .logarchive för överföring till utvecklaren. Det är ett oumbärligt verktyg för att diagnostisera problem på Mac: filter och sparade sökningar gör det möjligt att snabbt hitta fel i applikationen bland tusentals systemmeddelanden.

Huvudpunkter

  • Console.app — inbyggd macOS-loggbrowser som arbetar med Apples unified logging-system
  • Filtrering — sökning efter subsystem, category, nivå (Error, Fault, Debug) och meddelandetext med stöd för reguljära uttryck
  • Lägen — Live (realtidsström) och Historical (arkiverade loggar), växling via verktygsfältet
  • Export — spara loggar i .logarchive, .txt och .json för överföring till utvecklaren eller bifogning till felrapport
  • Sparade sökningar — namngivna filter för typiska scenarier: alla applikationsfel, nätverksloggar, CrashReporter

Vad är Console.app

Console.app är ett grafiskt gränssnitt till Apples unified logging-system. Den ersatte den gamla Console-applikationen (som en del av macOS) och ger tillgång till alla system- och applikationsloggar som registrerats via API:erna os_log, os_trace och syslog. Console.app finns i /Applications/Utilities/ på alla Mac-datorer.

Till skillnad från Xcode, som bara visar loggar för applikationen som startats från IDE, visar Console.app loggar för alla processer i systemet samtidigt. Detta gör det möjligt att diagnostisera problem som uppstår endast när applikationen startas utanför Xcode eller i bakgrunden. Console.app visar även systemloggar — kernel, launchd, WindowServer, vilket är användbart för felsökning av lågnivåproblem.

Console.app kräver ingen installation av ytterligare verktyg eller internetanslutning. All data lagras lokalt i .tracev3-databasen och applikationen fungerar helt offline. För att visa loggar från en annan Mac eller iOS-enhet används kommandot log collect följt av att öppna .logarchive i Console.app.

Gränssnittet i Console.app

Gränssnittet i Console.app består av tre huvudområden: sidopanelen med filter, meddelandetabellen och informationspanelen för det valda meddelandet. Sidopanelen innehåller avsnitten Devices (tillgängliga loggkällor), Reports (systemrapporter om krascher) och Saved Searches (sparade sökfrågor).

Meddelandetabellen visar en lista med loggar med kolumner: Time (tidsstämpel), Category (kategori), Level (allvarlighetsgrad — färgindikering), Process (processnamn), Message (meddelandetext). Klicka på ett meddelande för att öppna informationspanelen, där subsystem, activity identifier, thread ID och fullständig text med formatering visas.

Console.app markerar meddelanden med färg: rött för Fault, gult för Error, blått för Debug, grått för Info. Standardmeddelanden markeras inte. Detta gör det möjligt att visuellt skanna loggströmmen och omedelbart upptäcka kritiska händelser.

swift
// Loggar som visas i Console.app
import OSLog

let logger = Logger(
    subsystem: "com.example.myapp",
    category: "network"
)

logger.error("Connection failed: timeout")
logger.debug("Retry attempt 3 of 5")

// Dessa meddelanden syns i Console.app med filtret “myapp”

Filter och sökning i Console.app

Filtrering — huvudfunktionen i Console.app, som omvandlar en ström av tusentals meddelanden per sekund till en läsbar lista. Sökfältet högst upp stöder AND-villkor: flera ord separerade med mellanslag visar endast meddelanden som innehåller alla ord. Till exempel visar myapp error alla loggar för applikationen myapp med nivån Error.

Subsystem-filter i sidopanelen gör det möjligt att välja ett eller flera subsystem. Detta är det snabbaste sättet att isolera loggar för en specifik applikation från systemmeddelanden. Category-filter är tillgängligt efter val av subsystem — det visar alla kategorier som används av den valda applikationen. Level-filter begränsar meddelanden efter allvarlighetsgrad: endast fel eller endast felsökningsmeddelanden kan visas.

FiltertypExempelResultat
Textcrash paymentMeddelanden som innehåller crash OCH payment
Subsystemcom.example.myappEndast loggar för angiven applikation
LevelError + FaultEndast fel och kritiska krascher
CategorynetworkMeddelanden med kategori network
TidSenaste 1 timmenMeddelanden endast från valt intervall

Reguljära uttryck i sökning

Sökfältet i Console.app stöder regex via konstruktionen REGEX:pattern. Exempel: REGEX:error.*tim(e|out) hittar alla meddelanden som innehåller “error” och ett ord som börjar med “tim” och slutar med “e” eller “out”. Regex fungerar endast i sökfältet, inte i subsystem- eller category-filter.

Live- och Historical-lägen

Live — realtidsläget, där Console.app visar nya meddelanden när de dyker upp i kärnans cirkulära buffert. Detta läge är aktivt som standard och lämpligt för felsökning av en körbar applikation: du startar applikationen och ser dess loggar med en fördröjning på 1–5 sekunder. Live-knappen (eller ⌘L) slår på och av strömmen.

Historical — läget för att visa arkivet. Console.app lagrar alla meddelanden från de senaste 7–14 dagarna (konfigurerbart i systemet) i .tracev3-databasen. Historical-läget öppnar detta arkiv och gör det möjligt att söka med valfria filter, inte bara den aktuella strömmen. Detta är oumbärligt för analys av problem som inträffade på natten eller när applikationen arbetade utan anslutning till Mac.

Växling mellan lägen sker via Live-knappen i verktygsfältet. När Live är avstängd visar Console.app historiska data. I detta läge kan du navigera på tidslinjen med hjälp av kalendern eller ← →-knapparna. Historiska data är endast tillgängliga för loggar som sparats på disken — meddelanden som skrivits över i den cirkulära bufferten hamnar inte i arkivet.

Export och delning av loggar

Console.app stöder export av filtrerade loggar i flera format. File → Export → Save väljer format: .logarchive (inbyggt Apple-format, inkluderar all metadata), .txt (ren text med kolumner) och .json (strukturerad data med fält). För bifogning till felrapport använd .logarchive — den kan öppnas på vilken Mac som helst i Console.app.

Export från iOS-enhet: via Xcode (Devices → Open Console) eller via kommandot log collect --device --output ./archive.logarchive i terminalen. Öppna den erhållna .logarchive i Console.app på Mac — loggarna kommer från fjärrenheten, men filter och sökning fungerar på samma sätt som med lokala loggar.

swift
// Export av iOS-enhetsloggar via terminal
// log collect --device --output ./ios_crash.logarchive
// log show --subsystem com.example.app --last 1h --output json

// Exempel: exportera loggar från den senaste timmen
// log show --predicate 'subsystem == "com.example.myapp"' \
//   --info --debug --last 1h --output json > logs.json

// Tolkning av exporterade loggar i Swift
let jsonData = try Data(contentsOf: URL(fileURLWithPath: "logs.json"))
let decoded = try JSONDecoder()
    .decode([LogEntry].self, from: jsonData)

Delning av loggar

.logarchive — det optimala formatet för att skicka till en kollega eller bifoga till en JIRA-biljett. Filen innehåller inte bara meddelanden, utan även subsystem, category, timestamps, thread ID och all metadata. Arkivets storlek är betydligt mindre än råa loggar tack vare .tracev3-komprimering. Före sändning, kontrollera att loggarna inte innehåller privata data: använd applikationens subsystem-filter för att utesluta systemloggar som kan innehålla konfidentiell information från andra processer.

Praktiska exempel på felsökning via Console.app

Diagnostisera krasch utan Xcode: om applikationen kraschade vid start utanför Xcode visar Console.app ett Fault-meddelande från processen. Hitta i sidopanelen Reports → Crash Reports — där visas fullständiga kraschrapporter med signatur och stack. Använd subsystem-filter för din applikation och ställ in nivån Error+Fault för att se alla kritiska händelser före kraschen.

Prestandaanalys via Console.app

Console.app gör det möjligt att spåra fördröjningar i applikationen baserat på tidsstämplar. Om det mellan två relaterade meddelanden (till exempel “Begäran skickad” och “Svar mottaget”) har gått mer tid än förväntat — detta är en signal om prestandaproblem. Filtret på din applikations subsystem med nivån Default visar alla viktiga händelser med millisekundprecision.

Sökning efter minnesläcka: vid minnesläcka skickar systemet en minnesvarning via os_log med kategorin memory och nivån Error. I Console.app filtrera på ordet memory och välj ditt subsystem. Om varningen upprepas var 5–10:e sekund — förbrukar applikationen aktivt minne. Dessutom kan Debug-loggar aktiveras för att spåra allokeringar.

Felsökning av nätverksbegäranden: om din applikation använder os_log för nätverkshändelser visar Console.app alla begäranden och svar med tidsangivelser. Filtret category=network minskar brus. Om tiden mellan begäran och svar överstiger förväntningarna, sök efter meddelanden med level=Error — de indikerar timeout eller DNS-fel.

swift
// Struktur för tolkning av JSON-loggar från Console.app
struct LogEntry: Codable {
    let timestamp: String
    let eventMessage: String
    let subsystem: String
    let category: String
    let messageType: UInt8

    var level: String {
        switch messageType {
        case 1: return "Fault"
        case 16: return "Error"
        case 17: return "Debug"
        default: return "Default"
        }
    }
}

Vanliga frågor

Var finns Console.app på Mac?

Console.app finns i mappen /Applications/Utilities/. Den kan öppnas via Spotlight (⌘Mellanslag → Console) eller via Finder → Program → Verktyg → Konsol. Applikationens ikon är en stiliserad pratbubbla med ett kugghjul.

Varför visar Console.app <private> istället för värden?

os_log maskerar strängar och objekt som private som standard. Console.app visar dem som <private> i produktionsläge. För att se verkliga värden, starta applikationen från Xcode eller aktivera en insamlingsprofil med Debug-nivå för ditt subsystem.

Hur filtrerar jag endast loggar från min applikation?

I sidopanelen i Console.app, välj ditt subsystem (com.example.app) i avsnittet Devices → din enhet → Processes. Alternativt — skriv processnamnet i sökfältet och välj Process: YourApp från rullgardinslistan.

Hur länge sparar Console.app loggar?

Som standard sparar macOS loggar i .tracev3 i 7–14 dagar beroende på tillgängligt diskutrymme. Vid brist på utrymme tas de äldsta loggarna bort automatiskt. Lagringstiden kan förlängas via sudo log config, men detta rekommenderas inte för produktionsmaskiner.

Kan jag se loggar från en iOS-enhet i Console.app?

Ja, anslut iOS-enheten till Mac via USB, öppna Xcode → Devices → välj enheten → Open Console. Console.app visar loggarna från den anslutna enheten i realtid. För fristående insamling använd log collect i terminalen med flaggan --device.

Sammanfattning

  • Console.app — inbyggt macOS-verktyg för att visa unified logging (os_log)-loggar, kräver inte Xcode eller ytterligare installationer
  • Filter — sökning efter subsystem, category, allvarlighetsgrad, text och regex med AND-villkor för isolering av loggning från en specifik applikation
  • Lägen — Live (realtidsström med 1–5 sekunders fördröjning) och Historical (7–14 dagars arkiv) för analys av redan inträffade problem
  • Export — .logarchive med fullständig metadata för överföring till kollegor, .json för programmatisk analys, .txt för snabb visning
  • Diagnostik — hitta krascher, minnesläckor och nätverksfel utan Xcode genom filtrering av fel och kritiska krascher med färgindikering för Fault
  • Fjärrenheter — visa loggar från iOS-enhet via Xcode eller export via log collect med efterföljande öppning av .logarchive i Console.app på Mac
  • Integritet — os_log maskerar <private>-data i Console.app i produktionsläge; för felsökning använd Xcode eller insamlingsprofil på Debug-nivå

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också