RollingFlatFileTraceListener を使用してログ ファイルを保存しています。リスナーの構成は次のようになります。
<listeners>
<add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="log/ReferentNet.log" footer="" formatter="Text Formatter"
header="" rollFileExistsBehavior="Increment" rollSizeKB="1024"
timeStampPattern="" maxArchivedFiles="10" traceOutputOptions="Callstack" />
</listeners>
問題は、アーカイブされたファイルの圧縮 (.zip ファイルなど) をどうにかして有効にできないかということです。ローラーでファイルを単純にロールするのではなく、最後のファイルを除いてパックする必要があります。
これはむしろ標準的な機能です...たとえば、私が C++ プロジェクトで使用している Poco Foundation ライブラリはこれに対応しています。