Biztalk Log4Net [ปิด]

มีใครใช้ log4net กับ Biztalk บ้างไหม? ขณะนี้เรากำลังพิจารณาใช้งานและพยายามเข้าถึงข้อดี/ข้อเสีย และจะตรงกับความต้องการของเราหรือไม่


person John Robbers    schedule 13.04.2010    source แหล่งที่มา


คำตอบ (3)


ฉันใช้ Log4Net กับ BizTalk แต่ฉันจะบอกว่าฉันพบปัญหาทันทีเมื่อแกะกล่อง ทุกการโทรออกจาก BizTalk ส่งผลให้การประสานข้อมูลปัจจุบันถูกทำให้ขาดน้ำ (ทำให้เป็นอนุกรม) ดังนั้นประเภทใดก็ตามที่คุณใช้ใน BizTalk จะต้องเป็นแบบอนุกรมได้ และผู้บันทึก log4net ไม่ใช่

หากคุณจำเป็นต้องใช้ log4net อย่างแน่นอน มี wrapper ที่ Scott Colestock เขียนไว้ ที่นี่

สมมติว่าคุณไม่ได้ถูกล็อค ฉันจะใช้ Enterprise Logging ซึ่งมีฟังก์ชันเกือบจะเหมือนกับ log4net และใช้งานได้ทันทีกับ BizTalk คุณสามารถดูได้ที่นี่

สำหรับข้อดีและข้อเสีย ฉันจะบอกว่ามีฟังก์ชันการทำงานที่แทบจะทุกประการ จริงๆ แล้วฉันลงเอยด้วยการสร้างยูทิลิตี้ wrapper ที่ทำให้ Enterprise Library Logging Block ดูเหมือน log4net มากขึ้น

 public static class Logging
{

    public static void LogMessage(TraceEventType eventType, string category, string message)
    {
        LogEntry logEntry = new LogEntry();
        logEntry.Severity = eventType;
        logEntry.Priority = 1;
        logEntry.Categories.Add(category);
        logEntry.Message = message;
        Logger.Write(logEntry);

    }

    public static void LogError(string category, string message)
    {
        LogMessage(TraceEventType.Error, category,message);
    }

    public static void LogInfo(string category, string message)
    {
        LogMessage(TraceEventType.Information, category, message);
    }
    public static void LogVerbose(string category, string message)
    {
        LogMessage(TraceEventType.Verbose, category, message);
    }
}

และหากคุณต้องการข้อมูลเพิ่มเติม โปรดดูที่นี่ .

person Nix    schedule 13.04.2010

คุณเคยพิจารณาใช้ ETW หรือไม่ ในความคิดของฉันนี่คือหนทางที่จะใช้เครื่องมือ BizTalk http://blogs.msdn.com/b/asgisv/archive/2010/05/11/best-practices-for-instrumenting-high-Performance-biztalk-solutions.aspx

ข้อเสียประการหนึ่งของการใช้ทั้ง log4net และ Enterprise Logging คือคุณต้องกำหนดค่าเพื่อเปิดใช้งาน ดังนั้นคุณต้องจัดการไฟล์ btsntsvc.exe.config บนเซิร์ฟเวอร์ทั้งหมดในกลุ่ม biztalk ของคุณซึ่งอาจเป็นโอเวอร์เฮด

ETW ไม่มีการกำหนดค่า

person tom redfern    schedule 08.09.2011

ฉันต้องบอกว่าหลังจากใช้ทั้ง log4net และ MS Enterprise Library สำหรับการบันทึกแอปพลิเคชันในโครงการต่างๆ ฉันชอบ log4net มากกว่า ฉันชอบวิธีที่ log4net คุณสามารถรวมการกำหนดค่าไว้ในที่เดียว (เช่น ฐานข้อมูล) เป็นพิเศษ แทนที่จะต้องพึ่งพาเซิร์ฟเวอร์ภายใน app.config สำหรับ btsntsvc.exe

สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณต้องการแยกอินสแตนซ์เซิร์ฟเวอร์ใหม่เพื่อเพิ่มลงในฟาร์มของคุณ คุณมีเวลาเพียงพอโดยไม่ต้องกังวลเกี่ยวกับการกำหนดค่าการบันทึก ฉันใช้ log4net กับทั้ง BTS2004 และ BTS2006R2 และรู้สึกพอใจ สิ่งหนึ่งที่ฉันอยากจะแนะนำไม่ว่าคุณจะใช้เฟรมเวิร์กการบันทึกแบบใดก็ตาม อย่าตกหลุมพรางของการใช้บันทึกเหตุการณ์เป็นตัวดัก - เมื่อคุณขยายขนาดเซิร์ฟเวอร์แอป BTS 10 เครื่อง จะเป็นกระบวนการที่ใช้เวลานานในการติดตามข้อผิดพลาด โดยเฉพาะอย่างยิ่ง อินสแตนซ์การประสานไม่มีความสัมพันธ์กับเซิร์ฟเวอร์แอปและมีแนวโน้มที่จะย้ายข้ามพื้นที่ของคุณ! เก็บบันทึกเหตุการณ์สำหรับปัญหาสำคัญเกี่ยวกับระบบปฏิบัติการและบริการ BTS แทนที่จะเก็บบันทึกข้อผิดพลาดของแอปพลิเคชันแบบกำหนดเอง ทำให้การตรวจสอบ SCOM ง่ายดายยิ่งขึ้น

โปรดทราบ - ฉันก็ใช้ log4net กับ wrapper ที่สามารถซีเรียลไลซ์ได้ของ Colestock เช่นกัน แม้ว่าจะมีการปรับแต่งเล็กน้อยก็ตาม

person Rob Potter    schedule 08.09.2011