2011-07-26 2 views
5

Próbuję obrócić pliki dziennika, jeden na dzień tygodnia, a ten plik konfiguracyjny nie działa. Jeśli zmienię to na obracanie zamiast o północy na minutę, nagrywa tylko jeden plik z jedną minutą. Żadne nowe pliki nie są generowane. Czy są jakieś znane błędy najnowszej wersji biblioteki firmowej, które koncentrują się na nieobsługiwaniu ruchomych plików płaskich? Czy jest jakiś problem z moją obecną konfiguracją? Dziękujemy!Biblioteka Entreprise Toczący się płaski plik nie jest toczysty

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

Odpowiedz

6

udało mi się odtworzyć swój przykład.

Wygląda na to, że problem dotyczy wzoru sygnatury czasowej. Używasz dwukropka (:) jako ogranicznika dla minut i sekund; kiedy znacznik czasu łączy się z nazwą pliku, nazwa ta nie zostanie zaakceptowana, ponieważ dwukropek jest znakiem zarezerwowanym. Nie widzisz błędu, ponieważ Twoje specjalne źródło "błędów" jest również skonfigurowane do używania odbiornika śledzenia śladu ruchomego.

Zastąp dwukropek spacją, myślnikiem, podkreślnikiem lub dowolnym innym znakiem, który jest poprawny dla nazwy pliku i wszystko będzie działać. Rozważ także skonfigurowanie osobnego odbiornika dla kategorii błędów.

Ponadto, ponieważ wybrano opcję rollFileExistsBehavior = "Increment", a nie "Overwrite", do każdego pliku zostanie dodany przyrostek .1. Sufiks nie będzie się zwiększał, ponieważ masz co sekundę pobierać nowy plik. Możesz usunąć ss ze wzoru czasu lub zmienić rollFileExistsBehavior.