Swift:
লগিং

কিভাবে:

সুইফ্টে, আপনি কনসোলে লগ লিখতে পারেন প্রিন্ট বিবৃতি ব্যবহার করে অথবা আরও লচ্ছেদার os.log API ব্যবহার করে, যা অ্যাপেল প্ল্যাটফর্মে ইউনিফাইড লগিং সিস্টেমে আঁকড়ে থাকে।

import os.log

let logger = OSLog(subsystem: "com.yourapp.domain", category: "network")

func fetchData() {
    // সাধারণ প্রিন্ট বিবৃতি
    print("Fetch started")
    
    // os.log ব্যবহার করে ইনফো-লেভেল ইভেন্ট লগিং  
    os_log(.info, log: logger, "API থেকে ডাটা আনা হচ্ছে।")
    
    do {
        let data = try performNetworkRequest()
        // ডিবাগ-লেভেল ইভেন্ট লগিং
        os_log(.debug, log: logger, "ডাটা প্রাপ্ত: %@", data.description)
    } catch {
        // এরর-লেভেল ইভেন্ট লগিং
        os_log(.error, log: logger, "ডাটা আনতে ব্যর্থ: %@", error.localizedDescription)
    }
}

func performNetworkRequest() throws -> Data {
    // নেটওয়ার্ক অনুরোধ অনুকরণ করুন
    return Data()
}

কনসোলে নমুনা আউটপুট এরকম দেখাবে:

Fetch started
API থেকে ডাটা আনা হচ্ছে।
ডাটা প্রাপ্ত: কিছু ডাটার বাইট...

ত্রুটির জন্য, এটি হতে পারে:

ডাটা আনতে ব্যর্থ: ইন্টারনেট সংযোগ অফলাইন মনে হচ্ছে।

গভীর ডুব

আইওএস ১০ এবং ম্যাকওএস সিয়েরাতে চালু হওয়া ইউনিফাইড লগিং সিস্টেমের সাথে সুইফ্টে লগিং নতুন শক্তি এবং দক্ষতা লাভ করে। সরাসরি কনসোলে যাওয়া প্রিন্ট বিবৃতির বিপরীতে, এই সিস্টেমটি কার্যকলাপ-ভিত্তিক, এবং আপনাকে তাদের গুরুত্ব এবং তারা ডিবাগ বা রিলিজ বিল্ড হলে তার ভিত্তিতে লগ বার্তা ফিল্টার করতে দেয়।

ঐতিহাসিক প্রেক্ষাপট আইওএস এবং ম্যাকওএসে লগিংয়ের বিবর্তনকে চিত্রিত করে, সরল প্রিন্ট বিবৃতিগুলি থেকে যন্ত্রগুলির অ্যাপ্লিকেশন এবং কনসোলের সাথে একীভূত জটিল টুলগুলির দিকে।

সুইফ্টের মধ্যে লগিংয়ের বিভিন্ন বিকল্প রয়েছে, যেমন কোকোআলাম্বারজ্যাকের মতো থার্ড-পার্টি লাইব্রেরিগুলি, যা ইউনিফাইড লগিং সিস্টেমের উপর একটি ম্যাক্রো স্তর অফার করে। এটি লগ বিন্যাস, ফাইল ব্যবস্থাপনা, এবং পারফরম্যান্স বিকল্�