macOSİleriSistem günlükleri

Apple Birleşik Günlükleme (tracev3)

macOS 10.12+ ikili günlük deposu: /var/db/diagnostics içindeki tracev3 dosyaları ve /var/db/uuidtext'teki metinler; log show veya ayrıştırıcıyla okunur.

01Konum

  • /private/var/db/diagnostics/ (Persist/, Special/, Signpost/, HighVolume/, timesync/)
  • /private/var/db/diagnostics/logdata.statistics.*.txt, logd.*.log, shutdown.log, version.plist
  • /private/var/db/uuidtext/<XX>/<30 hex>
  • /private/var/db/uuidtext/dsc/<32 hex>
  • <name>.logarchive (bundle created by log collect)

02Yanıtladığı sorular

  • Bir işlem, alt sistem veya hizmet belirli bir zamanda ne kaydetti?
  • Oturum açma, kimlik doğrulama istemi, aygıt bağlantısı veya yazılım kurulumu, ilgili alt sistemin bildirdiğine göre ne zaman oldu?
  • Bir olay hangi önyükleme oturumuna aitti?

03Biçim ve sürümler

BiçimSıkıştırılmış ikili tracev3 parça dosyaları. Biçim metinleri uuidtext ve paylaşılan önbellek (dsc) dosyalarında bulunur; kayıtlar timesync dosyalarının duvar saatine eşlediği Mach sürekli zamanını taşır.
Geçerli olduğu sürümlerBirleşik günlükleme macOS 10.12 ve sonrasında vardır ve ASL ile syslog API'lerinin yerini alır (Apple).

04Temel alanlar

AlanNe anlatır
Timestamplog aracı tarafından saat dilimi farkıyla YYYY-MM-DD HH:MM:SS.ssssss olarak gösterilir.
Subsystem, categoryGünlük yazan kodun seçtiği ters DNS alt sistem ve kategori metinleri.
Process / sender image path, PID, thread IDKaynak işlem ve iletiyi üreten kitaplık veya ikili dosya.
Message typeDefault, Info, Debug, Error veya Fault.
Activity IDBir etkinliğe ait iletileri gruplar.
Boot UUIDtracev3 başlıklarında saklanan önyükleme kimliği; önyükleme oturumlarını ayırır.

05Zaman damgaları

AlanKodlamaNot
Entry timeMach continuous time + timebase, mapped via timesync recordslibyal, zamanın UTC olarak saklandığını, log aracının ise yerel saat dilimini gösterdiğini belirtir.

Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.

06İnceleme akışı

  1. Canlı sistemde log collect ile arşiv oluşturun; imajdan ise diagnostics ve uuidtext klasörlerini dizin yapısıyla birlikte kopyalayın.
  2. Arşivi log show ile (varsayılan olarak gizlenen --info ve --debug seçenekleriyle) veya uuidtext ile dsc metinlerini çözen bir ayrıştırıcıyla okuyun.
  3. subsystem, process, senderImagePath veya eventMessage üzerinde yüklemlerle süzün ve zaman aralığını --start ve --end ile sınırlayın.
  4. Gösterimde kullanılan saat dilimini kaydedin ve zaman çizelgesi için UTC'ye çevirin.

07Yorum tuzakları

  • Debug iletileri kalıcı yazılmaz, Info yalnızca log aracıyla toplanırsa yazılır; Default, Error ve Fault bir depolama sınırına kadar tutulur, sonra silinir.
  • Geliştirici public olarak işaretlemediyse dinamik metinler ve nesneler varsayılan olarak gizlenir (<private>).
  • Eşleşen uuidtext/dsc dosyaları olmadan ileti metni tam olarak yeniden kurulamaz.
  • Tekil tracev3 dosyalarında log show kayıtları zaman sırasıyla döndürmez; logarchive döndürür.

09Kaynaklar

  1. Logging Apple Developer Documentation · erişim 2026-10-14
  2. Generating Log Messages from Your Code Apple Developer Documentation · erişim 2026-10-14
  3. Viewing Log Messages Apple Developer Documentation · erişim 2026-10-14
  4. libyal dtformats — Apple Unified Logging and Activity Tracing formats Joachim Metz (GitHub) · erişim 2026-10-14
  5. Logs Unite! Forensic Analysis of Apple Unified Logs Sarah Edwards (mac4n6, GitHub) · erişim 2026-10-14
  6. ForensicArtifacts — artifacts/data/macos.yaml ForensicArtifacts project (GitHub) · erişim 2026-10-14