ประสบการณ์การใช้ไลบรารีการบันทึก Boost.Log? [ปิด]


88

ฉันกำลังพิจารณาการเริ่มต้นการใช้ห้องสมุดการเข้าสู่ระบบ Boost.Log มีใครใช้ Boost.Log บ้าง? กรุณาแบ่งปันประสบการณ์ของคุณในเรื่องนี้

ไลบรารีอื่น ๆ ที่ฉันกำลังพิจารณาคือ Apache log4cxx (ดูเหมือนจะน่าเบื่อในการติดตั้ง แต่เพื่อนร่วมทีมของฉันต้องการสิ่งที่ง่ายในการเริ่มต้น) และ Pantheios (ปัญหาเดียวกันเนื่องจากทำงานร่วมกับส่วนหน้าและส่วนหลังพิเศษ)


ฉันมีระบบ Logging ของตัวเอง แต่กำลังคิดจะเปลี่ยนคำถามที่น่าสนใจมาก!
Cedric H.

21
bloost.log นั้นช้ามากและซับซ้อนมากในการกำหนดค่ามันแทบจะไม่ผ่านกระบวนการตรวจสอบเลยและ ณ วันที่ 1.47 ยังไม่อยู่ในรุ่น Boost เป็นหนึ่งในไลบรารีเหล่านั้นที่อาจไม่เข้าสู่เมนไลน์ภายในสองสามปีข้างหน้าดังนั้นสำหรับตอนนี้ log4c และอื่น ๆ จึงเป็นตัวเลือกที่ดี

4
จริงๆแล้วมีการอธิบายว่าต้องมีการแก้ไขและเป้าหมายปัจจุบันของการเปิดตัวคือฤดูร้อนนี้ - ไลบรารีที่ถูกละทิ้งไม่มีตารางเวลาและพื้นที่เก็บข้อมูลระหว่างดำเนินการ นอกจากนี้ยังมีรายงานโดยผู้เขียนว่าผู้ใช้รายงานประสิทธิภาพที่ดีมาก ความซับซ้อนมีประโยชน์ในบางบริบทและหากคุณไม่ต้องการคุณก็สามารถใช้มาโครง่าย ๆ ที่มีให้ ดังนั้นฉันไม่เห็นด้วยกับความคิดเห็นของคุณ
Klaim

40
ฉันหวังว่า StackOverflow จะหยุดปิดคำถามที่มีประโยชน์อย่างเห็นได้ชัดเช่นคำถามนี้ว่า "ไม่สร้างสรรค์"
Stéphane

6
ฉันสงสัยว่าผลการดำเนินงานในปี 2558 เป็นอย่างไรบ้าง? บางทีการใช้ 2.0 ก็ "ตกลง" แล้วใช่ไหม
Vincas Dargis

คำตอบ:


41

อัปเดต : ฉันได้เขียนสิ่งนี้แล้วแทนที่ Boost บันทึกด้วยการบันทึกที่กำหนดเองส่วนใหญ่เป็นเพราะฉันตัดสินใจที่จะกำจัดการพึ่งพา Boost ทั้งหมดในโครงการทั้งหมดของฉันด้วยเหตุผลหลายประการ หากคุณจะมีการปรับกับการใช้ Boost ฉันเดา Boost.Log ยังคงเป็นทางเลือกที่ถูกต้องตัดสินโดยคำตอบของ Klaim

ประสบการณ์ของฉันกับ Boost เข้าสู่ระบบในปี 2010 ดังต่อไปนี้


ฉันรวม Boost สำเร็จเข้าสู่ระบบเกมของฉันและฉันสามารถพูดคุยเรื่องดีๆเกี่ยวกับมันได้เท่านั้น แน่นอนว่ามันเร็วไปหน่อยเนื่องจากเวอร์ชัน 2 จะเป็นเวอร์ชันจริงที่จะกลายเป็น Boost.Log อย่างเป็นทางการ

ระวังว่าเวอร์ชัน "1.0" ที่พร้อมใช้งานจะไม่ได้รับการดูแล ในการรับการอัปเดตคุณต้องใช้เวอร์ชันที่มีเลือดออก (ลำตัว) ซึ่งอาจไม่เสถียร คำนึงถึงสิ่งนี้หากคุณกำลังจะใช้เวอร์ชันนี้ในโครงการที่จริงจังใด ๆ หากคุณไม่กลัวที่จะใช้เวอร์ชันขอบเลือดออกหรือการแตกในอนาคตให้ไปหามัน ใช้ดีมากเพราะอยู่ในสถานะปัจจุบัน

ฉันคิดมานานแล้วว่าระบบการบันทึกแบบลำดับชั้นใน log4j / log4cxx นั้นเหนือกว่า แต่ Boost.Log ทำให้ฉันคิดเป็นอย่างอื่น การกรองและแอตทริบิวต์มีความยืดหยุ่นมากขึ้น

การออกแบบอ่างล้างจานแยกตามส่วนหน้า / แบ็กเอนด์ทำให้ง่ายต่อการเพิ่มแบ็กเอนด์เพิ่มเติม ไม่ต้องกังวลเกี่ยวกับปัญหาการซิงโครไนซ์หรือการกรองซึ่งจัดการโดยส่วนหน้า ไลบรารียังมาพร้อมกับแบ็กเอนด์จำนวนมากแล้วไฟล์แบบหมุนคอนโซล syslog การลงทะเบียนเหตุการณ์ของ Windows เป็นต้น

ฉันได้เขียนแบ็กเอนด์อ่างล้างมือของฉันเอง หนึ่งไปที่คอนโซลในเกมและอีกระบบหนึ่งไปยังระบบแจ้งเตือนสำหรับเหตุการณ์ที่ร้ายแรงกว่า ง่ายกว่าที่ฉันคาดไว้พร้อมใช้งานได้ในไม่กี่นาที

สุดท้าย แต่ไม่ท้ายสุดผู้ดูแล / ผู้พัฒนาก็มีประโยชน์เช่นกัน คุณจะได้รับความช่วยเหลือมากมายในฟอรัมโครงการ เขาได้แก้ไขข้อบกพร่องสองข้อ (โดยที่หนึ่งที่สำคัญ) ในสุดสัปดาห์นี้ที่ฉันรายงาน :-)


21

UPDATE: ฉันใช้ Boost อยู่เข้าสู่ระบบเกมเอนจิ้นและฉันมีความสุขมากกับมัน รวดเร็วปลอดภัยต่อเกลียวและยืดหยุ่นได้มากเมื่อคุณต้องการ

Boost.Log ควรมีให้กับไลบรารี Boost ทั้งหมดในรุ่นที่จะมาถึงในปีนี้ (2013)


Boost.Log ถูกสร้างขึ้นเพื่อตั้งค่าระบบบันทึกทับ หากคุณอ่านเอกสารคุณจะเห็นว่ามีความยืดหยุ่นมากจนสามารถสร้างระบบบันทึกข้อมูลใด ๆ ขึ้นมาได้ (เช่นการเข้าสู่ระบบคอมพิวเตอร์ที่อยู่ห่างไกล)

ดังนั้นจึงมีมาโครที่ช่วยให้ใช้งานง่ายในโปรเจ็กต์ง่ายๆแต่ฉันคิดว่ามันเป็นไลบรารีที่มีประโยชน์ส่วนใหญ่สำหรับคนที่เข้าใจการบันทึกและต้องการสร้างสถาปัตยกรรมเฉพาะสำหรับแอปพลิเคชันของพวกเขา

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

ในท้ายที่สุดฉันคิดว่ามัน "ใหม่" เกินไปที่จะประเมิน "ตอนนี้" ไม่มีไลบรารีการบันทึกอื่นใดที่ยืดหยุ่นเท่านี้และฉันไม่แน่ใจว่าผู้คนจำนวนมากจะรู้สึกว่าจำเป็นต้องใช้หรือไม่

อัปเดต: การแลกเปลี่ยนอีเมลล่าสุดกับ Boost ผู้เขียนบันทึกส่งผลให้มีข้อมูลบางอย่างที่แนะนำ tat Boost Log เป็นทางเลือกที่ยอดเยี่ยมสำหรับการบันทึกอย่างรวดเร็ว


7

เมื่อเร็ว ๆ นี้ฉันได้ตรวจสอบการใช้ระบบบันทึกในโครงการที่ฉันกำลังเริ่มต้น

ฉันลองใช้ log4cxx ตามที่คุณพูดถึงมันเป็นเรื่องที่น่าเบื่อมากในการติดตั้ง ฉันใช้เวลาหลายชั่วโมงในการคอมไพล์ภายใต้ VS2012 (กับไลบรารีอ้างอิงอื่น ๆ ... ) จากนั้นมันก็พังเมื่อฉันใช้ในโปรเจ็กต์ของฉัน แน่นอนว่ามีบางสิ่งแปลก ๆ เกิดขึ้นกับไลบรารีมาตรฐานที่ไม่ตรงกัน แต่คิดไม่ออก

ดังนั้นฉันจึงเปลี่ยนไปใช้ log4cpp ซึ่งฉันสามารถใช้งานได้ในไม่กี่นาที ฉันคิดว่ามันหรูหราและน้ำหนักเบาเป็นสิ่งที่ฉันต้องการ มีข้อดีอย่างมากในการมีคุณสมบัติเช่นเดียวกับ log4j & co ที่รู้จักกันดี ระบบบันทึกซึ่งอาจเป็นข้อดีอย่างแท้จริงสำหรับการทำงานเป็นทีมของคุณ (การกำหนดค่าผ่านไฟล์กำหนดค่า ฯลฯ )

เท่าที่เกี่ยวข้องกับประสิทธิภาพการทำงานจะต้องใช้การเรียกใช้ฟังก์ชันหนึ่งครั้งเพื่อตรวจสอบว่าตัวบันทึกทำงานอยู่ในระดับของข้อความหรือไม่จากนั้นจึงเรียกใช้ฟังก์ชันหนึ่งครั้งเพื่อบันทึกข้อมูลจริง

ด้วยมาโครที่ทำเองที่บ้าน (เพื่อเพิ่มLINE & co. ในข้อความ) log4cpp ได้พิสูจน์แล้วว่ามีประโยชน์ในโครงการของฉัน

น่าเสียดายที่ฉันไม่ได้ลอง Boost.Log จึงไม่สามารถพูดเกี่ยวกับเรื่องนี้ได้ แต่ฉันหวังว่าข้อเสนอแนะนี้จะยังคงเป็นประโยชน์สำหรับคุณหากคุณเลือกที่จะไม่ใช้ Boost.Log way

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.