2011-07-26 4 views
5

ログファイルをローテーションしようとしていますが、1日に1回、この設定ファイルは動作しません。真夜中ではなく回転するように変更すると、1分間の1つのファイルしか記録されません。新しいファイルは生成されません。最新版のentrepriseライブラリの既知のバグはありますか?現在の設定に問題はありますか? ありがとうございました!Entreprise Libraryローリングフラットファイルがローリングしていません

<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General" 
    revertImpersonation="false"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener"  type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    fileName="C:\EMS\logs\MobileMessagingServices.log" footer="" formatter="Text Formatter" 
    header="" rollFileExistsBehavior="Increment" rollInterval="Midnight" 
    rollSizeKB="100000" timeStampPattern="yyyy-MM-dd hh:mm:ss" maxArchivedFiles="7" 
    traceOutputOptions="Timestamp, Callstack" filter="All" /> 
</listeners> 
<formatters> 
    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    template="{timestamp} :: {category} :: {message}" name="Text Formatter" /> 
</formatters> 
<categorySources> 
    <add switchValue="All" name="General"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" /> 
    </listeners> 
    </add> 
</categorySources> 
<specialSources> 
    <allEvents switchValue="All" name="All Events"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" /> 
    </listeners> 
    </allEvents> 
    <notProcessed switchValue="All" name="Unprocessed Category"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" /> 
    </listeners> 
    </notProcessed> 
    <errors switchValue="All" name="Logging Errors &amp; Warnings"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" /> 
    </listeners> 
    </errors> 
</specialSources> 

答えて

6

私はあなたの例を再現するために管理。

問題はタイムスタンプパターンにあるようです。コロン(:)は、分と秒の区切り文字として使用します。タイムスタンプがファイル名に連結されると、コロンは予約文字なので、その名前は受け入れられません。 「エラー」特別なソースもローリングフラットファイルトレースリスナを使用するように設定されているため、エラーは表示されません。

ファイル名に有効なスペース、ダッシュ、アンダースコア、またはその他の文字でコロンを置き換えると、すべてが機能します。また、エラーカテゴリに対して別のリスナーを構成することも検討してください。

また、rollFileExistsBehavior = "Increment"を選択し、 "上書き"を選択しなかったため、各ファイルに.1サフィックスが追加されます。新しいファイルを毎秒取得するため、接尾辞は増分しません。時間パターンからssを削除するか、rollFileExistsBehaviorを変更することができます。

関連する問題