OOZOU
ติดต่อเรา
กลับไปหน้า TIL
ruby on rails

Tag log ของ rails ด้วยข้อมูลที่มีประโยชน์

13 ตุลาคม 2563

เพิ่งได้เรียนรู้เรื่อง tagged logging ใน rails รู้ไหมว่าคุณสามารถ tag log ได้โดยใช้

logger.tagged('Your Tag') { logger.info('Message') }

config/application.rb

คุณยังทำแบบ global ได้ด้วย

# config/application.rb
config.log_tags = [:method_on_request_object, lambda { |request| request.method.modifier_method }]

config/application.rb

เพิ่มข้อมูล OS และเวอร์ชัน OS ของอุปกรณ์ฝั่ง client ลงใน log (client ต้องส่ง header X-OS และ X-OS-Version มาด้วย)

# config/application.rb
config.log_tags = [ :request_id, lambda { |request| "#{request.headers['HTTP_X_OS']} #{request.headers['HTTP_X_OS_VERSION']}" } ]

สำหรับ production environment สามารถเพิ่มการตั้งค่าเฉพาะลงในไฟล์ config environments production.rb เพื่อปรับ logging และประสิทธิภาพให้เหมาะสม

1. รู้จักกับ log tag

log tag เป็นฟีเจอร์ทรงพลังใน Rails ที่ให้คุณเพิ่มข้อมูลของคุณเองลงใน log ทำให้ debug และเข้าใจพฤติกรรมของแอปพลิเคชันได้ง่ายขึ้น การใช้ log tag ช่วยให้คุณจัดกลุ่มข้อความ log ที่เกี่ยวข้องกัน และทำให้ log อ่านง่ายและมีประโยชน์มากขึ้น ในส่วนนี้เราจะแนะนำแนวคิดของ log tag และอธิบายวิธีใช้งานใน Rails application ของคุณ

2. ตั้งค่า component ต่าง ๆ ของ Rails

การตั้งค่า component ต่าง ๆ ของ Rails เป็นส่วนสำคัญของการเซ็ตอัปแอปพลิเคชัน ในส่วนนี้เราจะพูดถึงวิธีตั้งค่า component ต่าง ๆ ของ Rails ทั้ง application, environment และ middleware รวมถึงวิธีใช้เมธอด config เพื่อตั้งค่าแบบกำหนดเองให้กับแอปพลิเคชันของคุณ

3. ปรับแต่ง log tag

การปรับแต่ง log tag ให้คุณเพิ่มข้อมูลเฉพาะที่เกี่ยวข้องกับแอปพลิเคชันของคุณลงใน log ได้ ในส่วนนี้เราจะพูดถึงวิธีปรับแต่ง log tag ด้วยเมธอด log_tags รวมถึงวิธีใช้ Proc และ object ที่ตอบสนองต่อ to_s เพื่อเพิ่มข้อมูลแบบ dynamic ลงใน log ของคุณ

4. ตัวอย่างการ tag log

การ tag log เป็นฟีเจอร์ที่ยืดหยุ่นและใช้ได้หลายแบบเพื่อทำให้ log ของคุณดีขึ้น ในส่วนนี้เราจะยกตัวอย่างการใช้ log tag ในสถานการณ์ต่าง ๆ เช่น การ log request ที่ยิงไปยัง API ภายนอก, background job และข้อมูลผู้ใช้ รวมถึงวิธีใช้ log tag เพื่อ debug แอปพลิเคชันแบบ multi-tenant

5. Best practice สำหรับ log tag

การใช้ log tag ให้ได้ผลต้องอาศัย best practice บางอย่างเพื่อให้ log อ่านง่ายและมีประโยชน์ ในส่วนนี้เราจะพูดถึง best practice ของการใช้ log tag ทั้งวิธีทำให้ log กระชับ วิธีตั้งชื่อ tag ให้สื่อความหมาย และวิธีหลีกเลี่ยงการ tag มากเกินไป รวมถึงวิธีใช้ log tag ร่วมกับเครื่องมือและเทคนิคการ log อื่น ๆ เพื่อให้ได้ประโยชน์จาก log สูงสุด

เพิ่มเติมเกี่ยวกับ ruby on rails

ruby on rails10 กุมภาพันธ์ 2565

ใช้ Pundit Policy จัดการ permitted parameters ทั้งค่า default และแยกราย action

ในการจัดการ permitted params คุณสามารถเพิ่ม permitted\attributes และ permitted\attributes\for\#{action} ใน policy ของคุณได้ เช่น

ruby on rails31 มกราคม 2565

ใช้ `requestSubmit` สำหรับการ submit form ร่วมกับ Turbo

Turbo คอยฟัง event submit ที่เกิดขึ้นบน form ดังนั้นให้ใช้ requestSubmit เสมอเมื่อจะ submit form ด้วย JS

ruby on rails19 มกราคม 2565

ให้ Rubocop และ ESLint ignore gem ที่ bundle ไว้ใน GitHub Actions

โปรเจกต์ Rails มักติดตั้ง gem ลงใน vendor directory ใน GitHub actions เพื่อให้ cache ไว้ใช้ในรอบถัด ๆ ไปได้

มีโปรเจกต์ในใจ?

เรายินดีรับฟังสิ่งที่คุณกำลังสร้าง

เริ่มต้นสนทนาhello@oozou.com
OOZOU Logo

กรุงเทพฯ · สิงคโปร์ · ฮ่องกง

X
Facebook
Instagram
LinkedIn

บริการ

  • พัฒนาเว็บ
  • เอเจนต์ AI และ Generative AI
  • พัฒนาแอปมือถือ
  • วิศวกรรมและวิเคราะห์ข้อมูล
  • UI/UX และการออกแบบผลิตภัณฑ์
  • การเปลี่ยนผ่านสู่ดิจิทัล

บริษัท

  • เกี่ยวกับเรา
  • ร่วมงานกับเรา
  • บล็อก
  • กรณีศึกษา
  • Today I Learned
  • ติดต่อเรา

เพิ่มเติม

  • อุตสาหกรรม
  • เครือข่ายพันธมิตร
© 2026 OOZOU สงวนลิขสิทธิ์
นโยบายความเป็นส่วนตัวจรรยาบรรณนโยบาย ABAC