2011-07-26 11 views
5

Estoy tratando de rotar los archivos de registro, uno por día de la semana y este archivo de configuración no está funcionando. Si lo cambio para rotar en vez de medianoche a minuto, solo se graba un solo archivo con un minuto de duración. No se están generando nuevos archivos. ¿Hay algún error conocido de la última versión de la biblioteca empresarial que se centre en rodar archivos planos que no funcionan? ¿Hay algún problema con mi configuración actual? ¡Gracias!Entreprise Library Rolling flat file is not rolling

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

Respuesta

6

he conseguido reproducir tu ejemplo.

Parece que su problema está en el patrón de marca de tiempo. Utiliza dos puntos (:) como delimitador para minutos y segundos; cuando la marca de tiempo se concatena con el nombre del archivo, ese nombre no se acepta porque los dos puntos son un carácter reservado. No ve el error, ya que su fuente especial de "errores" también está configurada para usar el Escuchador de Rastreo de Archivo Rolling Flat.

Reemplazar dos puntos con espacio, guión, guión bajo o cualquier otro carácter que sea válido para un nombre de archivo y todo funcionará. Además, considere configurar un oyente por separado para la categoría de error.

Además, como ha elegido rollFileExistsBehavior = "Increment" y no "Overwrite", agregará un sufijo .1 a cada archivo. El sufijo no se incrementará, ya que obtendrá un nuevo archivo cada segundo. Es posible que desee eliminar ss del patrón de tiempo o cambiar el RolFileExistsBehavior.

Cuestiones relacionadas