写入事件日志:不要在事件日志查看器中查看事件,但可以在Visual Studio.Net下查看它们

时间:2011-11-29 17:40:40

标签: c# windows-services event-log

我在VS.NET 2010 / C#中创建一个Windows服务,它使用事件日志组件进行日志记录。我创建了事件源,该服务在本地系统帐户下工作,因此不会发生与安全相关的问题。

虽然我在Visual Studio 2010(服务器浏览器)的事件日志视图中看到了我的事件,但我在Windows的标准事件日志实用程序中看不到它们。有什么问题?我的代码如下。提前感谢您的帮助!

        public Service()
        {
        InitializeComponent();

        if (!System.Diagnostics.EventLog.SourceExists("Photo Processing Service"))
        {
            System.Diagnostics.EventLog.CreateEventSource(
                "Photo Processing Service", "fexpress");
        }
        fexpressLog.Source = "Photo Processing Service";
        fexpressLog.Log = "fexpress";
        }  

...然后

fexpressLog.WriteEntry (...);

2 个答案:

答案 0 :(得分:1)

它们是否属于“应用程序和服务日志 - >照片处理服务”而不是“Windows日志 - >应用程序日志”?

答案 1 :(得分:0)

我自己经历过两件事要考虑。

  1. 如果其他人已经创建了您要使用的具有相同名称的事件源,但已将其映射到具有不同名称的事件日志,那么您的所有事件都将转到该事件日志而不是预期的事件日志。经过几个小时后,我偶然发现了这件事。
  2. 事件日志源/名称可以是任意长度,但只有前8个字符很重要。因此,如果您之前创建了一个名为的源,例如" Photo Printing"然后前8个字符与"照片处理服务"相同。因此,您的所有错误消息都会转到那里。