I have the following Log4Net config:

<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>

This works just fine until I have a huge string that needs to be logged. For example, if the string is about 8000 chars, Log4Net simply avoids writing it. It doesn't even write it truncated. Is there a way to get large string logged (fully or even truncated)?

有帮助吗?

解决方案

Have you tried enabling log4net's internal debugging to see if log4net is throwing an error

I tried a test program and it has no problem logging something like

log.Debug("Begin".PadRight(16000, '*') + "End");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top