Logging

ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

Jim White

Java Developer

Log คืออะไร

  • แอปพลิเคชันประกอบด้วยโค้ดจำนวนมาก
    • มีการควบคุมการทำงาน (if/then/else, for loops, while loops ฯลฯ) มากมาย
    • มีคลาสและเมธอดจำนวนมาก
    • การติดตามโค้ดทั้งหมดเป็นเรื่องที่ท้าทาย
  • log ทำหน้าที่เหมือนไดอารีของแอปพลิเคชัน
    • บันทึกว่าโค้ดส่วนใดถูกเรียกใช้
    • บันทึกจุดที่เกิดปัญหาหรือข้อผิดพลาด

log เปรียบเหมือนไดอารีของแอปพลิเคชัน ใช้ติดตามเหตุการณ์ทั้งดีและไม่ดีที่เกิดขึ้น

ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

Logging

  • Java มีความสามารถด้าน logging ในตัว
  • เราควบคุมว่าข้อความใดจะถูกเขียนลง log
    • คล้ายกับการเรียก System.out.println() เพื่อแสดงข้อความใน console
  • ใช้ logging เพื่อบันทึกสิ่งที่เกิดขึ้น
    • ครอบคลุมโค้ดที่ถูกรัน ปัญหาที่พบ และทรัพยากรที่ใช้ (เช่น ฐานข้อมูล)
  • logging ช่วยให้นักพัฒนาติดตามและเข้าใจการทำงานของแอปพลิเคชันเพื่อ debug
  • ข้อความ log ที่บันทึกไว้สามารถเก็บในไฟล์ ฐานข้อมูล หรือระบบอื่นได้
    • ช่วยให้ตรวจสอบและเปรียบเทียบประวัติ log ย้อนหลังได้
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

การใช้ Java logging

  • Import java.util.logging
  • รับออบเจกต์ Logger
    • ใช้ getLogger(String) เพื่อรับออบเจกต์ Logger
    • String คือชื่อของ logger
    • โดยทั่วไปตั้งชื่อ logger ตามชื่อคลาส
import java.util.logging.*;

class HelloWorld {

  public static Logger logger =
    Logger.getLogger("HelloWorld");

}
1 See https://docs.oracle.com/javase/8/docs/api/index.html?java/util/logging/Logger.html for additional log methods
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

การเขียนข้อความ log

public static void main (String[] args) {
  logger.log(Level.INFO,
             "This is informational");
  logger.log(Level.SEVERE,
             "This is a critical message");
}
Nov 26, 2024 12:59:29 PM HelloWorld main
INFO: This is informational
Nov 26, 2024 12:59:29 PM HelloWorld main
SEVERE: This is a critical message
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

ระดับ log

Level Order
SEVERE สำคัญที่สุด
WARNING
INFO
CONFIG
FINE
FINER
FINEST สำคัญน้อยที่สุด

ระดับ log บ่งบอกความสำคัญของรายการ log

1 Image courtesy https://unsplash.com/@vendavlog
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

มาฝึกกันเถอะ!

ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

Preparing Video For Download...