企业库在Windows 2008 R2中不起作用

时间:2011-06-02 18:51:45

标签: logging enterprise-library

我正在尝试将应用部署到Windows Server 2008 R2。 Ent Lib在我的开发盒上工作正常但是当我将应用程序部署到Windows Server 2008 R2时 - 它不起作用:没有错误,但是日志被默默地忽略。在这种特殊情况下,我试图写入事件日志。相同的应用程序在我的盒子上工作。知道为什么吗?

以下是我配置它的方法:

        builder.ConfigureLogging()
            .WithOptions
            .DoNotRevertImpersonation()
            .LogToCategoryNamed(Constants.Logging.Category.EventLog)
            .SendTo.EventLog(Constants.Logging.EventLogTraceListener)
            ...

        var configSource = new DictionaryConfigurationSource();
        builder.UpdateConfigurationWithReplace(configSource);
        EnterpriseLibraryContainer.Current
            = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);

我正在写日志如下: “无法处理取消请求。请求:{0}未找到。”                     .FormatWith( “空”)                     .ToLogEntry()                     .CategorizedAs(Constants.Logging.Category.EventLog)                     .TitledAs(“这个头衔”)                     .WRITE();

它正确地写入开发环境中的事件日志,但是当代码移动到目标环境时却没有。没有错误,没有例外,会自动忽略日志消息。

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

使用事件日志,这几乎总是权限。尝试将Logging Errors & Warnings设置为文件跟踪侦听器,该文件跟踪侦听器将写入您知道您具有写入权限的文件,以查看是否收到任何错误。

PRB: "Requested Registry Access Is Not Allowed" Error Message When ASP.NET Application Tries to Write New EventSource in the EventLog可以帮助您(假设您有权限问题)。