我們使用Log4Net和FileAppender在進程中記錄錯誤。當這個過程結束時,我們想通過電子郵件發送日誌文件,但是我們無法做到這一點,因爲Log4Net仍然對文件有鎖定,並且我們收到一條消息,說明該文件正在被另一個進程使用。有任何想法嗎?Log4Net - 文件進程鎖定
我們正在使用的配置是這樣的:
<appender name="WarnFileAppender" type="log4net.Appender.FileAppender">
<file value="d:\for-review-log.txt" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="WARN" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<appendToFile value="false"></appendToFile>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
嗨Alex,日誌來自控制檯應用程序進程,這將鎖定文件。我已經在使用Appender的FileAppender.MinimalLock設置。複製文件可能是一個選項... – 2011-05-31 07:48:15
@Steve Ward - 您是否可以訪問發送日誌的應用程序的代碼?如果是這樣,您可能需要對其進行更改。它不應該計算該文件現在不被使用,因此它可以使用共享鎖讀取文件或執行文件複製。 – 2011-05-31 07:51:41
是的,複製文件似乎工作。謝謝... – 2011-05-31 08:06:40