Saturday, January 16, 2010

แก้ปัญหา log4net

เมื่ออาทิตย์ที่แล้ว พบปัญหาว่าข้อมูล application log หายไปจาก table ในเช้าของวัน
ปกติแล้วใช้ log4net อยู่สำหรับ .net platform (ติดมาจาก log4j)

โดยปกติแล้ว logging เป็นสิ่งที่ขาดไม่ได้สำหรับงานที่จริงจังทั้งหลาย เวลาที่ต้องการ track ข้อมูล
ในหลาย ๆ สถาณการณ์ เช่น เกิด error หรือว่าต้องการเขียน step การทำงานขั้นตอนที่สำคัญ ๆ ไว้

ที่ใช้ประจำก็คือ เกิด error เขียน log
แต่ถ้า logger มัน error (ไม่ยอมเขียน) ล่ะ จะทำไงดี...

ก็ต้องตามไปอ่านเองสำหรับ logger ที่ใช้ สำหรับ log4net เขาเตรียมการเรื่องนี้ให้
โดยระบบจะส่งข้อมูล debug ไปที่ System.Diagnostics.Trace
เพราะฉะนั้น ถ้าเตรียมข้อมูลต่อไปนี้ไว้


//ระบุว่า Debug mode



พร้อมกับชี้ output ของ debug messages ไปที่ local file




name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />




จากนั้นก็รันโปรแกรม แล้วรอดูปัญหาที่แท้จริงจากไฟล์นั้นได้เลย

No comments: