我正在尝试将应用部署到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();
它正确地写入开发环境中的事件日志,但是当代码移动到目标环境时却没有。没有错误,没有例外,会自动忽略日志消息。
知道为什么吗?
答案 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可以帮助您(假设您有权限问题)。