Console.app: bu nima, funksiyalari va macOS-da loglarni qanday o‘qish kerak

Muallif: IT Sectr Nashr etilgan: 2026-05-29 O'qish vaqti: 8 daq

Console.app — bu tizim va foydalanuvchi loglarini ko‘rish, filtrlash va tahlil qilish uchun macOS-ga o‘rnatilgan ilova. U Apple-ning unified logging tizimi (os_log) orqali real vaqtda xabarlarni ko‘rsatadi va dasturchiga Xcode-ga ulanmasdan kraşlar, xatolar va disk raskladka xabarlarini ko‘rish imkonini beradi. Apple Support ma’lumotlariga ko‘ra, Console.app subsystem, category, jiddiylik darajasi va jarayon bo‘yicha filtrlashni, shuningdek loglarni .logarchive formatida eksport qilishni qo‘llab-quvvatlaydi. Bu Mac-da muammolarni diagnostika qilish uchun ajralmas vositadir: filtrlar va saqlangan qidiruvlar minglab tizim xabarlari orasida ilovadagi xatolarni tez topishga imkon beradi.

Asosiy ma’lumotlar

  • Console.app — Apple-ning unified logging tizimi bilan ishlaydigan o‘rnatilgan macOS log ko‘ruvchisi
  • Filtrlash — subsystem, category, daraja (Error, Fault, Debug) va xabar matni bo‘yicha muntazam ifodalar bilan qidiruv
  • Rejimlar — Live (real-vaqt oqimi) va Historical (arxiv loglari), asboblar paneli orqali almashtirish
  • Eksport — loglarni .logarchive, .txt va .json formatlarida dasturchiga yuborish yoki bug-reportga biriktirish
  • Saqlangan qidiruvlar — odatiy stsenariylar uchun nomlangan filtrlar: barcha ilova xatolari, tarmoq loglari, CrashReporter

Console.app nima

Console.app Apple-ning unified logging tizimiga grafik interfeysdir. U eski Console ilovasini (macOS qismi sifatida) almashtirdi va os_log, os_trace hamda syslog API-lari orqali yozilgan barcha tizim va ilova loglariga kirishni ta’minlaydi. Console.app har bir Mac-da /Applications/Utilities/ manzilida mavjud.

Xcode-dan farqli o‘laroq, faqat IDE-dan ishga tushirilgan ilovaning loglarini ko‘rsatadi, Console.app bir vaqtning o‘zida tizimdagi barcha jarayonlarning loglarini ko‘rsatadi. Bu ilova Xcode tashqarisida yoki fon rejimida ishga tushirilganda yuzaga keladigan muammolarni diagnostika qilish imkonini beradi. Console.app shuningdek tizim loglarini — kernel, launchd, WindowServer ko‘rsatadi, bu past darajadagi muammolarni disk raskladka qilish uchun foydali.

Console.app qo‘shimcha vositalarni o‘rnatishni yoki internetga ulanishni talab qilmaydi. Barcha ma’lumotlar .tracev3 ma’lumotlar bazasida mahalliy saqlanadi va ilova to‘liq oflayn ishlaydi. Boshqa Mac yoki iOS qurilmasidan loglarni ko‘rish uchun log collect buyrug‘i ishlatiladi, so‘ngra .logarchive Console.app-da ochiladi.

Console.app interfeysi

Console.app interfeysi uchta asosiy sohadan iborat: filtrlar bilan yon panel, xabarlar jadvali va tanlangan xabarning tafsilot paneli. Yon panelda Devices (mavjud log manbalari), Reports (tizim nosozlik hisobotlari) va Saved Searches (saqlangan qidiruv so‘rovlari) bo‘limlari mavjud.

Xabarlar jadvali loglar ro‘yxatini ustunlar bilan ko‘rsatadi: Time (vaqt tamg‘asi), Category (kategoriya), Level (jiddiylik darajasi — rang ko‘rsatkichi), Process (jarayon nomi), Message (xabar matni). Istalgan xabarni bosish tafsilot panelini ochadi, unda subsystem, activity identifier, thread ID va formatlash bilan to‘liq matn ko‘rsatiladi.

Console.app xabarlarni rang bilan ajratib ko‘rsatadi: Fault uchun qizil, Error uchun sariq, Debug uchun ko‘k, Info uchun kulrang. Default xabarlari ajratilmaydi. Bu log oqimini vizual skanerlash va kritik hodisalarni darhol payqash imkonini beradi.

swift
// Console.app-da ko‘rinadigan loglar
import OSLog

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

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

// Ushbu xabarlar Console.app-da “myapp” filtri bilan ko‘rinadi

Console.app-da filtrlar va qidiruv

Filtrlash — Console.app-ning asosiy funksiyasi bo‘lib, sekundiga minglab xabarlar oqimini o‘qiladigan ro‘yxatga aylantiradi. Yuqoridagi qidiruv maydoni AND shartlarini qo‘llab-quvvatlaydi: bir nechta so‘z bo‘shliq bilan ajratiladi va faqat barcha so‘zlarni o‘z ichiga olgan xabarlar ko‘rsatiladi. Masalan, myapp error myapp ilovasining Error darajasidagi barcha loglarini ko‘rsatadi.

Subsystem filtri yon panelda bir yoki bir nechta subsystemni tanlash imkonini beradi. Bu ma’lum bir ilova loglarini tizim xabarlaridan ajratishning eng tezkor usulidir. Category filtri subsystem tanlangandan so‘ng mavjud bo‘ladi — tanlangan ilova foydalanadigan barcha kategoriyalarni ko‘rsatadi. Level filtri xabarlarni jiddiylik darajasi bo‘yicha cheklaydi: faqat xatolar yoki faqat disk raskladka xabarlarini ko‘rsatish mumkin.

Filtr turiMisolNatija
Matncrash paymentcrash VA payment so‘zlarini o‘z ichiga olgan xabarlar
Subsystemcom.example.myappFaqat ko‘rsatilgan ilova loglari
LevelError + FaultFaqat xatolar va kritik nosozliklar
Categorynetworknetwork kategoriyali xabarlar
VaqtOxirgi 1 soatFaqat tanlangan intervaldagi xabarlar

Qidiruvdagi muntazam ifodalar

Console.app qidiruv maydoni REGEX:pattern konstruksiyasi orqali regexni qo‘llab-quvvatlaydi. Misol: REGEX:error.*tim(e|out) “error” va “tim” bilan boshlanib “e” yoki “out” bilan tugaydigan so‘zni o‘z ichiga olgan barcha xabarlarni topadi. Regex faqat qidiruv maydonida ishlaydi, subsystem yoki category filtrlarida emas.

Live va Historical rejimlari

Live — real-vaqt rejimi, unda Console.app yadroning halqali buferida yangi xabarlar paydo bo‘lishi bilan ularni ko‘rsatadi. Bu rejim sukut bo‘yicha faol va ishlayotgan ilovani disk raskladka qilish uchun mos keladi: siz ilovani ishga tushirasiz va uning loglarini 1–5 soniya kechikish bilan ko‘rasiz. Live tugmasi (yoki ⌘L) oqimni yoqadi va o‘chiradi.

Historical — arxivni ko‘rish rejimi. Console.app barcha xabarlarni so‘nggi 7–14 kun (tizimda sozlanishi) davomida .tracev3 ma’lumotlar bazasida saqlaydi. Historical rejimi ushbu arxivni ochadi va faqat joriy oqim bo‘yicha emas, balki istalgan filtrlar bo‘yicha qidirish imkonini beradi. Bu kechasi yoki Mac-ga ulanmasdan ishlagan ilovada yuz bergan muammolarni tahlil qilish uchun ajralmas hisoblanadi.

Rejimlar o‘rtasida almashtirish asboblar panelidagi Live tugmasi orqali amalga oshiriladi. Live o‘chirilganda, Console.app tarixiy ma’lumotlarni ko‘rsatadi. Ushbu rejimda taqvim yoki ← → tugmalari yordamida vaqt chizig‘i bo‘ylab harakatlanish mumkin. Historical ma’lumotlar faqat diskka saqlangan loglar uchun mavjud — halqali buferda qayta yozilgan xabarlar arxivga tushmaydi.

Loglarni eksport va ulashish

Console.app filtrlangan loglarni bir nechta formatda eksport qilishni qo‘llab-quvvatlaydi. File → Export → Save formatni tanlaydi: .logarchive (Apple-ning mahalliy formati, barcha metama’lumotlarni o‘z ichiga oladi), .txt (ustunlar bilan oddiy matn) va .json (maydonlar bilan tuzilgan ma’lumotlar). Bug-reportga biriktirish uchun .logarchive dan foydalaning — uni istalgan Mac-da Console.app-da ochish mumkin.

iOS qurilmasidan eksport: Xcode (Devices → Open Console) yoki terminalda log collect --device --output ./archive.logarchive buyrug‘i orqali. Olingan .logarchive ni Mac-da Console.app-da oching — loglar uzoq qurilmadan, ammo filtrlar va qidiruv mahalliy loglar bilan bir xil ishlaydi.

swift
// iOS qurilmasi loglarining terminal orqali eksporti
// log collect --device --output ./ios_crash.logarchive
// log show --subsystem com.example.app --last 1h --output json

// Misol: so‘nggi bir soat loglarini eksport qilish
// log show --predicate 'subsystem == "com.example.myapp"' \
//   --info --debug --last 1h --output json > logs.json

// Eksport qilingan loglarni Swift-da pars qilish
let jsonData = try Data(contentsOf: URL(fileURLWithPath: "logs.json"))
let decoded = try JSONDecoder()
    .decode([LogEntry].self, from: jsonData)

Loglarni birgalikda ishlatish

.logarchive — hamkasbga yuborish yoki JIRA topshiriğiga biriktirish uchun optimal format. Fayl faqat xabarlarni emas, balki subsystem, category, timestamps, thread IDs va barcha metama’lumotlarni o‘z ichiga oladi. Arxiv hajmi .tracev3 siqilishi tufayli xom loglardan sezilarli darajada kichikroq. Yuborishdan oldin loglarda shaxsiy ma’lumotlar yo‘qligiga ishonch hosil qiling: boshqa jarayonlarning maxfiy ma’lumotlarini o‘z ichiga olishi mumkin bo‘lgan tizim loglarini chiqarib tashlash uchun ilovangizning subsystem filtridan foydalaning.

Console.app orqali disk raskladkaning amaliy misollari

Xcode-siz kras diagnostiıkasi: agar ilova Xcode tashqarisida ishga tushirilganda qulab tushsa, Console.app jarayondan Fault xabarini ko‘rsatadi. Yon panelda Reports → Crash Reports bo‘limini toping — u erda imzo va stek bilan to‘liq nosozlik hisobotlari ko‘rsatiladi. Ilovangiz uchun subsystem filtridan foydalaning va krasdan oldin barcha kritik hodisalarni ko‘rish uchun Error+Fault darajasini o‘rnating.

Console.app orqali samaradorlik tahlili

Console.app vaqt tamg‘alari asosida ilovadagi kechikishlarni kuzatish imkonini beradi. Agar ikkita bog‘liq xabar o‘rtasida (masalan, “so‘rov yuborildi” va “javob olindi”) kutilganidan ko‘proq vaqt o‘tgan bo‘lsa — bu samaradorlik muammosi haqida signaldir. Default darajasidagi ilovangizning subsystem filtri barcha asosiy hodisalarni millisekund aniqligida ko‘rsatadi.

Xotira oqishini qidirish: xotira oqishi paytida tizim os_log orqali memory kategoriyasi va Error darajasi bilan ogohlantirish yuboradi. Console.app-da memory so‘zi bo‘yicha filtrlang va o‘z subsystemingizni tanlang. Agar ogohlantirish har 5–10 soniyada takrorlansa — ilova faol xotira iste’mol qilmoqda. Qo‘shimcha ravishda ajratmalarni kuzatish uchun Debug loglarini yoqish mumkin.

Tarmoq so‘rovlarini disk raskladka qilish: agar ilovangiz tarmoq hodisalari uchun os_log dan foydalansa, Console.app barcha so‘rovlar va javoblarni vaqt bilan ko‘rsatadi. category=network filtri shovqinni kamaytiradi. Agar so‘rov va javob o‘rtasidagi vaqt kutilganidan oshsa, level=Error bo‘lgan xabarlarni qidiring — ular taymut yoki DNS xatolarini ko‘rsatadi.

swift
// Console.app JSON loglarini pars qilish uchun struktura
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"
        }
    }
}

Tez-tez beriladigan savollar

Console.app Mac-da qayerda joylashgan?

Console.app /Applications/Utilities/ jildida joylashgan. Uni Spotlight (⌘Boş joy → Console) yoki Finder → Programmalar → Utilities → Konsol orqali ochish mumkin. Ilova belgisi — tishli g‘ildirakcha bilan stilize qilingan nutq pufakchasi.

Nega Console.app qiymatlar o‘rniga <private> ko‘rsatadi?

os_log satrlar va ob’ektlarni sukut bo‘yicha private sifatida niqoblaydi. Console.app ularni ishlab chiqarish rejimida <private> sifatida ko‘rsatadi. Haqiqiy qiymatlarni ko‘rish uchun ilovani Xcode-dan ishga tushiring yoki subsystemingiz uchun Debug darajasidagi yig‘ish profilini yoqing.

Faqat o‘z ilovamning loglarini qanday filtrlash mumkin?

Console.app-ning yon panelida Devices → qurilmangiz → Processes bo‘limida o‘z subsystemingizni (com.example.app) tanlang. Shu bilan birga — qidiruv maydoniga jarayon nomini yozing va ochiladigan ro‘yxatdan Process: YourApp ni tanlang.

Console.app loglarni qancha vaqt saqlaydi?

Sukut bo‘yicha macOS loglarni .tracev3 da diskdagi mavjud bo‘sh joyga qarab 7–14 kun davomida saqlaydi. Joy yetishmasa, eng eski loglar avtomatik o‘chiriladi. Saqlash muddatini sudo log config orqali oshirish mumkin, ammo bu ishlab chiqarish mashinalari uchun tavsiya etilmaydi.

Console.app-da iOS qurilmasining loglarini ko‘rish mumkinmi?

Ha, iOS qurilmasini USB orqali Mac-ga ulang, Xcode → Devices → qurilmani tanlang → Open Console ni oching. Console.app ulangan qurilmaning loglarini real vaqtda ko‘rsatadi. Mustaqil yig‘ish uchun terminalda log collect buyrug‘idan --device bayrog‘i bilan foydalaning.

Xulosa

  • Console.app — unified logging (os_log) loglarini ko‘rish uchun o‘rnatilgan macOS vositasi, Xcode yoki qo‘shimcha o‘rnatish talab qilmaydi
  • Filtrlar — subsystem, category, jiddiylik darajasi, matn va AND shartlari bilan regex bo‘yicha qidiruv
  • Rejimlar — Live (1–5 soniya kechikish bilan real-vaqt oqimi) va Historical (7–14 kunlik arxiv) allaqachon sodir bo‘lgan muammolarni tahlil qilish uchun
  • Eksport — .logarchive to‘liq metama’lumotlar bilan hamkasblarga yuborish uchun, .json dasturiy tahlil uchun, .txt tez ko‘rish uchun
  • Diagnostika — Xcode-siz kraslar, xotira oqishlari va tarmoq xatolarini topish
  • Uzoq qurilmalar — iOS qurilmasi loglarini Xcode orqali ko‘rish yoki log collect bilan eksport qilish
  • Maxfiylik — os_log ishlab chiqarish rejimida Console.app-da <private> ma’lumotlarini niqoblaydi; disk raskladka uchun Xcode yoki Debug darajasidagi yig‘ish profilidan foydalaning

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing