【问题标题】:Log4Net RollingFileAppender doesn't write long stringsLog4Net RollingFileAppender 不写长字符串
【发布时间】:2012-10-10 05:39:10
【问题描述】:

我有以下 Log4Net 配置:

<appender name="WSLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="${APPDATA}\xxxx"/>
      <evaluator type="log4net.Core.LevelEvaluator,log4net">
        <threshold value="WSLog" />
      </evaluator>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="WSLog" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <bufferSize value="1"/>
      <appendToFile value="true"/>
      <rollingStyle value="Size"/>
      <datePattern value="yyyyMMdd"/>
      <MaxSizeRollBackups value="7"/>
      <StaticLogFileName value="true"/>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <maximumFileSize value="5MB"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern 
          value="%newline__________________________________________________________%newlineTime:%utcdate%newline%newline%message%newline"/>
      </layout>
    </appender>

这工作得很好,直到我有一个需要记录的巨大字符串。例如,如果字符串大约有 8000 个字符,Log4Net 会简单地避免写入它。它甚至没有写它被截断。 有没有办法记录大字符串(完全甚至截断)?

【问题讨论】:

    标签: log4net rollingfileappender


    【解决方案1】:

    你有没有试过开启log4net的内部调试看看log4net是否报错

    我尝试了一个测试程序,它记录类似的东西没有问题

    log.Debug("Begin".PadRight(16000, '*') + "End");
    

    【讨论】:

    • 感谢您的回复。我有一个非常旧版本的 log4net 二进制文件链接到我们的项目。我从 apache.org SVN 下载了最新的源代码并进行了构建和测试。成功!
    猜你喜欢
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多