【发布时间】:2011-08-02 21:20:50
【问题描述】:
我正在尝试从 ASP.Net 3.5 Web 应用程序将消息记录到 Windows EventLog。
我首先尝试使用 EntLib Logginh 块,但是当失败时,我直接尝试使用 EventLog 类。它也失败了。他们不会抛出任何异常......只是不要写消息。 EntLib 确实将消息写入文件,但没有写入 Windows EventLog。
这是我的代码:
public static void LogMessage(string title, string message){
//EventLog log = new EventLog();
//log.Source = LOG_SOURCE;
//log.WriteEntry(message, EventLogEntryType.Error);
//EventLog.WriteEntry(LOG_SOURCE, message);
LogWriter writer = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
writer.Write(message);
}
我在安装程序类中创建日志和源。让我知道我是否应该将代码放在这里。日志已正确创建,因为我可以在 EventViewer 中看到它。源创建正确,因为我可以在注册表的“EventLog\MyLog”文件夹中看到它。
我一直在阅读,有一篇文章指出以下行可能会有所帮助:
EventLogPermission perm = new EventLogPermission(EventLogPermissionAccess.Administer, ".");
perm.PermitOnly();
但它没有。
如果有帮助,我的代码结构如下:
- 类库项目(这里是LogMessage方法)
- 类库项目(这里是捕获异常和调用LogMessage的方法)
- ASP Net Web 应用程序项目(网页。该层调用第 2 层。这也是我的安装程序类)
- Web 设置项目(具有指向 Web 设置项目输出的自定义操作)
你能帮忙弄清楚发生了什么吗???
谢谢
我找到了以下资源:“http://www.netframeworkdev.com/net-base-class-library/trouble-writing-to-eventlog-16723.shtml”,所以似乎不可能创建来自 ASP 的自定义日志...仍在调查中
【问题讨论】:
标签: asp.net enterprise-library event-log