C++:
การบันทึกล็อก

วิธีทำ:

สมมติว่าคุณกำลังทำงานบน Linux box และคุณต้องการที่จะเก็บบันทึกลอกของคุณลงในไฟล์ด้วย C++ ดั้งเดิม คุณจะต้องรวมไลบรารี <iostream> และ <fstream> เพื่อดำเนินการกับไฟล์ นี่คือตัวอย่างอย่างรวดเร็ว:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ofstream logFile("appLog.txt", std::ios::app);  // เปิดในโหมดเพิ่มเติม

    if (!logFile.is_open()) {
        std::cerr << "มีปัญหาในการเปิดไฟล์บันทึก!" << std::endl;
        return 1;
    }

    logFile << "แอปพลิเคชั่นเริ่มทำงาน" << std::endl;
  
    // ... ที่ไหนสักแห่งในโลจิกแอปพลิเคชั่นของคุณ
    logFile << "เหตุการณ์สำคัญเกิดขึ้น" << std::endl;

    // อย่าลืมปิดไฟล์สตรีมของคุณ
    logFile.close();

    return 0;
}

หากคุณทำการ tail ไฟล์บันทึกของคุณด้วยคำสั่ง tail -f appLog.txt, คุณควรจะเห็น:

แอปพลิเคชั่นเริ่มทำงาน
เหตุการณ์สำคัญเกิดขึ้น

เจ๋ง, คุณได้บันทึกเหตุการณ์ที่มีการประทับเวลาแล้ว!

การทำความเข้าใจลึกซึ้ง

การบันทึกมีมาตั้งแต่การคิดค้นคอมพิวเตอร์, โดยมีรากฐานมาจากการทำเครื่องหมายลงบนกระดาษเพื่อติดตามว่าคอมพิวเตอร์โบราณทำอะไรอยู่ ในยุคสมัยใหม่, มันเป็นเรื่องของโซลูชันซอฟต์แวร์ที่ซับซ้อน คุณมีการบันทึกลงไฟล์โดยตรง, เช่นตัวอย่างอย่างรวดเร็วด้านบน, หรือคุณอาจใช้กรอบการบันทึกที่หรูหรายิ่งขึ้น, เช่น Log4cpp หรือ Boost.Log ในโลกของ C++; เหล่านี้มอบระดับการบันทึก, ควบคุมรูปแบบ, และอื่นๆ

ถ้าพูดถึงระดับ, แนวปฏิบัติที่ดีที่สุดของการบันทึก รวมถึงการใช้ระดับความรุนแรงแตกต่างกัน - ข้อมูล, ดีบัก, คำเตือน, ข้อผิดพลาด, ร้ายแรง - ทำให้คุณสามารถกรองเสียงรบกวนเมื่อคุณพยายามกำจัดจุดบกพร่องหรือหาเหตุผลว่าทำไมแอปพลิเคชั่นของคุณมีพฤติกรรมเหมือนวัยรุ่นให้ปวดหัว

ในบันทึกประสิทธิภาพ, อย่าประมาทกับบันทึกของคุณ การบันทึกมากเกินไปสามารถทำให้แอปพลิเคชั่นที่เร็วแสงของคุณกลายเป็นเชื่องเหมือนในมาราธอน, ทำให้ไฟล์ซิสเท็มล่าช้า, หรือแม้กระทั่งคุณอาจต้องเสียค่าใช้จ่ายในการจัดเก็บหากคุณใช้บนคลาวด์ การหาสมดุลที่เหมาะสมเป็นสิ่งสำคัญ: บันทึกสิ่งที่คุณต้องการ, และไม่มากกว่านั้น

ดูเพิ่มเติม

สำหรับผู้ที่ชอบที่จะไปไกลเกินกว่ากับการปฏิบัติบันทึกของพวกเขา, ตรวจสอบเหล่านี้:

  • ห้องสมุด Boost.Log สำหรับคุณสมบัติการบันทึกที่ทรงพลัง
  • ห้องสมุด glog ของ Google ถ้าคุณสนใจในสิ่งที่ยักษ์ใหญ่ด้านเทคโนโลยีใช้ในการบันทึกแอปพลิเคชั่นของพวกเขา
  • ห้องสมุด Log4cpp สำหรับกลไกการบันทึกที่สามารถกำหนดค่าได้

และสำหรับการอ่านเบื้องหลังเกี่ยวกับเหตุผลและวิธีการของการบันทึก, ลงลึกไปที่: