เป้าหมายของฉันคือการสร้างไลบรารี log4net ที่สามารถแชร์ข้ามหลายโครงการได้
ในโซลูชันของฉันซึ่งอยู่ใน. net 4.0 ฉันสร้างไลบรารีคลาสชื่อ Logger และอ้างอิงจากโครงการเว็บ
ตอนนี้ฉันสร้าง logger.config ในไลบรารีคลาสและใส่การกำหนดค่าทั้งหมดลงในไฟล์ logger.config แล้วฉันก็ใช้
[assembly: log4net.Config.XmlConfigurator(Watch = true, ConfigFile = "Logger.config")]
เมื่อฉันเรียกใช้เว็บแอป ไม่มีอะไรถูกบันทึก ดังนั้นฉันจึงเพิ่มโค้ดบรรทัดนี้ใน web.config
<add key="log4net.Internal.Debug" value="true"/>
ซึ่งให้ข้อมูลการดีบักและข้อมูลข้อผิดพลาดแก่ฉัน
ล้มเหลวในการค้นหาส่วนการกำหนดค่า 'log4net' ในไฟล์ .config ของแอปพลิเคชัน ตรวจสอบไฟล์ .config ของคุณเพื่อดูองค์ประกอบและ ส่วนการกำหนดค่าควรมีลักษณะดังนี้:
ฉันย้ายการกำหนดค่าจาก logger.config ไปที่ web.config และดูเหมือนว่าทุกอย่างจะทำงานได้ดี
ฉันไม่ต้องการการกำหนดค่า log4net ใน web.config แต่มี logger.config เป็นวิธีที่สะอาดกว่า เป้าหมายคือการทำให้โปรเจ็กต์อื่นใช้ไลบรารีนี้และไม่ต้องกังวลกับการกำหนดค่าในทุกโปรเจ็กต์
ตอนนี้คำถามคือ ฉันจะทำเช่นนี้ได้อย่างไร? ผมทำอะไรผิดหรือเปล่า? ข้อเสนอแนะพร้อมตัวอย่างโค้ดจะเป็นประโยชน์ต่อทุกคน
โปรดทราบ ฉันกำลังใช้แผนผังโครงสร้าง IOC เพื่อรักคนตัดไม้อีกครั้งก่อนที่จะเข้าสู่ระบบ
ILog
หากคุณต้องการจริงๆ - person default.kramer   schedule 06.06.2012