我正在尝试轮换日志文件,每周一天,此配置文件无效。如果我将其更改为旋转而不是午夜到分钟,则仅记录一个持续一分钟的单个文件。没有生成新文件。是否有任何已知的最新版本的企业库的错误,专注于滚动平面文件无法正常工作?我当前的配置有问题吗? 谢谢!
<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 & Warnings">
<listeners>
<add name="Rolling Flat File Trace Listener" />
</listeners>
</errors>
</specialSources>
答案 0 :(得分:6)
我设法重现了你的例子。
您的问题似乎是时间戳模式。您使用冒号(:)作为分钟和分钟;当时间戳连接到文件名时,该名称不会被接受,因为冒号是保留字符。您没有看到错误,因为您的“错误”特殊源也配置为使用滚动平面文件跟踪侦听器。
用空格,短划线,下划线或任何其他对文件名有效的字符替换冒号,一切都会起作用。另外,请考虑为错误类别配置单独的侦听器。
此外,由于您选择了rollFileExistsBehavior =“Increment”而不是“Overwrite”,因此它会为每个文件添加.1后缀。后缀不会增加,因为您将每秒获取一个新文件。您可能希望从时间模式中删除ss或更改rollFileExistsBehavior。