微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 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>

解决方法:

我设法重现你的例子.

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

用空格,短划线,下划线或任何其他对文件名有效的字符替换冒号,一切都行.另外,请考虑为错误类别配置单独的侦听器.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。