สำหรับพวกเราที่มีการลงมาทำงานกับ Method Channel ในฝั่ง iOS อาจจะมีความต้องการที่จะ Log ดูข้อมูลต่างๆ ที่เกิดขึ้นในฝั่ง iOS ที่ใช้ภาษา Swift ด้วย ซึ่งส่วนที่เราใช้แสดง Log กันบ่อยๆ ก็คือ Debug Console ใช่ไหม
Logger
ใน iOS 14 เป็นต้นไป จะมีตัว Logger ซึ่งเป็นตัวที่ใช้ log ใหม่ล่าสุด (หวังว่าคงจะไม่ต้องมีใหม่กว่านี้อีกนะ) ดังนั้นถ้าต้องการใช้งาน เราก็สามีการใส่ annotation ไว้บน Class ที่ต้องการดังนี้
@available(iOS 14.0, *)
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
การ initialize มาใช้งานก็จะเป็นแบบด้านล่าง โดยเราสามารถกำหนด subsystem และ category ได้
var logger = Logger.init(subsystem: "th.in.nextflow.teerasej", category: "main")
แน่นอนว่าสามารถแบ่งตามระดับของ Log ได้
logger.debug("")
logger.log("")
logger.critical("")
logger.info("")
logger.error("")
logger.fault("")
logger.warning("")
logger.notice("")
ซึ่งถ้ามีตัวแปร ต้องการเอามาแสดงใน Log ก็สามารถใช้ String Interpolation ได้เลย
logger.debug("API Endpoints: \(endpoints)")
ถ้าสนใจการใช้งาน Logger เต็มๆ สามารถดูได้จากคลิปในงาน WWDC2020 ที่มีการเปิดตัวระบบนี้ได้เลยนะ
หรือจะดูรายละเอียดการใช้งานจากเว็บของ Apple ก็ได้ครับ