ฉันใช้เครื่องมือการปรับใช้เว็บเพื่อสร้างและเผยแพร่ไซต์ MVC จาก VS 2010 ไปยังเซิร์ฟเวอร์ที่ใช้ IIS ฉันยังมีการบันทึก log4net ไปยังไดเร็กทอรีย่อยที่อยู่นอกรูทของเว็บแอปพลิเคชันที่ฉันกำลังปรับใช้ด้วย ฉันพบวิธีรักษาสิทธิ์ในการเขียนไว้เมื่อปรับใช้ด้วยเครื่องมือนี้ในไดเร็กทอรีนั้น แต่ตอนนี้ฉันกำลังประสบปัญหาที่ฉันไม่อยากให้บันทึกสูญหายเมื่อทำการปรับใช้ และการปรับใช้ล้มเหลวเนื่องจากบันทึก ไฟล์ที่ log4net ใช้นั้น "ใช้โดยกระบวนการอื่น" (น่าจะเป็น w3wp) และจะไม่ยอมให้การปรับใช้ดำเนินต่อไป
ดังนั้น ฉันต้องการเก็บไฟล์บันทึกไว้ และไม่ลบหรือเขียนทับ เพื่อวัตถุประสงค์ในการตรวจสอบ มีวิธีทำเช่นนั้นภายในขอบเขตของ Web Deployment Tool หรือไม่
แก้ไข: นี่คือบิตที่เกี่ยวข้องของการกำหนดค่า log4net ใน Web.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" />
</configSections>
<log4net>
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\Log.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="10MB" />
<datePattern value="yyyyMMdd" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLog" />
</root>
</log4net>
</configuration>