file - 滚动平面文件日志文件未正确滚动

标签 file logging enterprise-library

我正在使用 Microsoft Enterprise 5 Logging 块。在本地测试时,所有滚动平面文件都已正确创建,并且数据库按预期记录到我的本地 SQL 日志实例。问题是当我将我的应用程序发布到我们拥有的测试环境时。这就是奇怪的事情发生的时候:日志文件是用奇怪的类似 GUID 的名字创建的。它们最终会滚动,但它很奇怪,而且经常这样做。也不会发生数据库日志记录。我无法在网上找到与此问题相关的任何内容。在 IIS 中设置应用程序池和文件夹时,我怀疑身份验证问题,但不确定。
有没有人有这个问题?
这是我的配置设置:

<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="D:\logs\MobileApps\rolling.log" formatter="Text Formatter"
        rollFileExistsBehavior="Increment" rollInterval="Hour" timeStampPattern="yyyy-MM-dd-hh" />

文件的名称如下
deb7f413-6cb3-44ac-900e-02883856e82bRolling.log
rolling.2012-01-19-09.log

最佳答案

RollingFlatFileListener 基于 .NET Framework 的 TextWriterTraceListener ,它定义了此前缀行为:“如果尝试写入正在使用或不可用的文件,文件名将自动以 GUID 为前缀。”

您可以定义自己的跟踪监听器,该监听器不会使文件保持打开状态(有关如何编写自定义跟踪监听器的指导,请参阅 set of hands-on labs on EntLib extensibility 的实验 2),或使用 distributor service并在一个地方写入文件;对于后者,您需要设置 MSMQ。

关于file - 滚动平面文件日志文件未正确滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8928635/

相关文章:

rest - 对 Azure Insights REST API for Events(审核日志)的查询的速率限制策略

ruby-on-rails - 如何在 Rails 开发中忽略延迟作业查询日志记录

c# - 将 MEF 与企业库一起使用

frameworks - 在开发中使用 ERP 框架?

Java-从文件读取并通过数据转换初始化对象

file - Scala快速文本文件读取并上传到内存

c++ - 从文件中逐字节读取

javascript - css 隐藏 "Choose File"按钮但在选择后显示文件

iphone - cocoa 的选择性采伐

c# - 新 AppDomain 中的 Web 应用程序中的 "The type LogWriter cannot be constructed"