c# - log4net 一般故障。无法获取文件锁定

标签 c# log4net config

我是第一次尝试配置 log4net,我确定我已正确配置所有内容,但是,在获得空日志文件后,我打开了 log4net 调试器。我现在不断看到以下错误:

log4net:ERROR [RollingFileAppender] ErrorCode: GenericFailure. Unable to acquire lock on 
file "file path\file name" The process cannot access the file "file path\file name" because 
it is being used by another process.

我目前通过我的 Web.config 文件配置了 log4net:

<log4net debug="true">
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="Logs\\TransferPicturesApplicationLog.txt"/>
  <appendToFile value="true"/>
  <rollingStyle value="Size"/>
  <maxSizeRollBackups value="5"/>
  <maximumFileSize value="10MB"/>
  <staticLogFileName value="true"/>
  <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="ERROR"/>
    <param name="LevelMax" value="DEBUG"/>
  </filter>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline"/>
  </layout>
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
<root>
  <level value="INFO"/>
  <appender-ref ref="RollingFileAppender"/>
</root>
<logger>
  <level value="DEBUG"/>
  <appender-ref ref="RollingFileAppender"/>
</logger>
</log4net>

求助!!!

最佳答案

我也遇到了这个错误,因为我在 appender 中指定了一个目录的名称而不是一个文件,错误消息是含糊不清的:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <file value="C:\DirectoryNameHere\MyBad" />

关于c# - log4net 一般故障。无法获取文件锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353761/

相关文章:

json - Keycloak:是否可以在配置 json 文件中编写脚本组?

c# - 我如何在 C# 中读写智能引号(和其他愚蠢的字符)

c# - 无法在 Gridview 的 RowCreated 上使用 FindControl 找到控件

c# - 如何将 View 绑定(bind)到 Xamarin.Forms 中的字典?

java - 在 java web 应用程序中存储 UI 配置并从 jsp 页面读写配置文件的位置

c# - ASP.NET 页面上的打印按钮

.net - 为什么 Log4Net 过滤器会接收评估器阈值之外的消息?

c# - 在 log4net 中使用 smtpAppender 的多个 smtphost 地址

visual-studio - log4net 控制台应用程序未登录发布