【问题标题】:Entreprise Library Rolling flat file is not rolling企业图书馆滚动平面文件不滚动
【发布时间】:2011-10-13 11:23:27
【问题描述】:

我正在尝试每周轮换一个日志文件,但此配置文件无法正常工作。如果我将其更改为旋转而不是从午夜到分钟,它只会记录一个持续时间为一分钟的单个文件。没有新文件正在生成。最新版本的企业库是否有任何已知的错误,专注于滚动平面文件不起作用?我目前的配置有问题吗? 谢谢!

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

【问题讨论】:

    标签: c# xml logging enterprise-library


    【解决方案1】:

    我设法重现了你的例子。

    看来您的问题出在时间戳模式上。您使用冒号 (:) 作为分钟和秒的分隔符;当时间戳连接到文件名时,该名称不会被接受,因为冒号是保留字符。您看不到错误,因为您的“错误”特殊源也配置为使用滚动平面文件跟踪侦听器。

    用空格、破折号、下划线或任何其他对文件名有效的字符替换冒号,一切都会正常工作。此外,请考虑为错误类别配置单独的侦听器。

    此外,由于您选择了 rollFileExistsBehavior="Increment" 而不是 "Overwrite",它会为每个文件添加一个 .1 后缀。后缀不会增加,因为您将每秒获取一个新文件。您可能希望从时间模式中删除 ss 或更改 rollFileExistsBehavior。

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-17
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多