0

次の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は単に文字列の書き込みを回避します。それは切り捨てられてさえ書きません。大きな文字列をログに記録する(完全にまたは切り捨てられる)方法はありますか?

4

1 に答える 1

1

log4netの内部デバッグを有効にして、log4netがエラーをスローしているかどうかを確認してみましたか?

テストプログラムを試しましたが、次のようなログを問題なく記録できます。

log.Debug("Begin".PadRight(16000, '*') + "End");
于 2012-10-11T19:38:16.310 に答える