首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将事件写入特定的EventViewer

将事件写入特定的EventViewer
EN

Stack Overflow用户
提问于 2018-04-19 20:51:37
回答 1查看 48关注 0票数 1

我已经阅读了多篇关于Windows事件查看器的文章和问题。然而,我仍然无法实现我的目标。我有一个Windows服务,我称之为“社交”。我要将此Windows服务中的信息写入Windows事件查看器。目前,我尝试了以下几种方法:

代码语言:javascript
复制
var message = "Test Log";
using (var sw = File.AppendText(AppDomain.CurrentDomain.BaseDirectory + "test.txt"))
{
  sw.WriteLine(message);
}

var eventLog = new EventLog();
eventLog.Source = "Service";
eventLog.Log = "Social";

eventLog.BeginInit();
if (EventLog.SourceExists(eventLog.Source) == false)
{
  EventLog.CreateEventSource(eventLog.Source, "Social");
}
eventLog.EndInit();

eventLog.WriteEntry(message, EventLogEntryType.Information);

我添加了"test.txt“文件,只是为了确保我的代码能够被访问。该代码运行得很好。但是,我从未在事件查看器中看到我的消息。事实上,我从来没有看到过新的事件源被创建。我本想打开Windows事件查看器,在"Event Viewer -> Applications and Services Logs -> Social Media Analyzer“中看到一个新项目。然而,我没有看到任何这样的东西。

值得注意的是,"Social“日志存在于事件查看器中。但是,它不会写入任何内容。日志被写入到"Application“日志中。这几乎就像是Windows服务忽略了我想要写入特定日志的事实。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-19 21:42:54

代码语言:javascript
复制
eventLog.Log = "Application";
...
EventLog.CreateEventSource(eventLog.Source, "Application");

您正在将事件写入"Windows日志“下的应用程序日志。事件应将来源(列)指定为"Social Media Analyzer“。

如果您想要写入自定义日志,则需要类似以下内容

代码语言:javascript
复制
EventLog.CreateEventSource("MyEventSource", "Social Media Analyzer");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49921610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档