繁体   English   中英

EventLog WriteEntry不不会在C#中写入EventViewer

[英]EventLog WriteEntry not does not write into EventViewer in C#

我创建了一个C#应用程序,该应用程序在事件查看器中创建自定义日志名称,并将条目写入事件查看器。

我的应用程序在Windows-7 OS计算机上运行良好,但是当我将二进制文件复制到另一台window-2012服务器标准(SP1)计算机上时,它无法正常工作。

我运行了应用程序RunAs管理员,但仅看到自定义日志名称,而没有看到日志消息。

我已经在注册表eventlog条目中给予了完全许可,但是没有运气。 有人可以建议我如何解决此问题。 或使用调试技术来解决此问题。

我已经调试了代码,没有异常,代码运行顺利。 我的代码很简单,如下所示:

EventLog.CreateEventSource("MyApp", "TestingApplication")
EventLog.WriteEntry("MyApp", "Testing 123")

今天,我已经使用相同的事件源和eventlogname进行了测试,如下EventEvent.CreateEventSource(“ MyApp”,“ MyApp”)一样,它在window-2012服务器标准(SP1)中工作正常,在Win-2012(SP1)中有任何问题或我错过了什么吗?

即使在以管理员身份运行时,在Windows Server 2008 R2中它默认也不具有提升的特权。 您需要提升的权限才能创建源。 一旦创建了源,就应该让您对其进行写入。

有几种方法可以解决此问题,如果要构建实际的应用程序,则可以修改应用程序清单以要求提升的特权和管理员权限:

<?xml version="1.0" encoding="utf-8" ?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" 
    xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <assemblyIdentity version="1.0.0.0" name="MyApplication" />
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                <requestedExecutionLevel level="requireAdministrator" 
        uiAccess="false" />
            </requestedPrivileges>
        </security>
    </trustInfo>
</asmv1:assembly>  

或者,同样,如果您要构建普通的应用程序,则可以拆分代码以将事件源创建到单独的进程中。 然后,您可以检查事件源是否存在,如果存在,请使用它,如果不存在,则可以运行创建事件源的新过程。

Process开始信息中,您将需要'runas'动词。

如果您正在运行Windows服务,则您会受到更多限制,因为据我所知,服务不具备通过其清单直接“提升”特权的功能。

但是,您的服务安装程序可以升高,并且应该在所需的管理员权限下运行,您可以在服务安装程序内创建事件源; 然后在服务本身中使用它。

我有完全相同的问题。 我正在使用WinServer 2012r2。 日志创建成功,但是写入事件出现在应用程序日志中。 我阅读了很多MSDN和论坛,并做了很多直到本书为止的工作,但仍然有这个问题。 似乎MS在最新的.Net框架中存在一个错误,该错误会导致所有消息进入应用程序日志:(

最终,我重新启动服务器后,一切正常。 如果使用eventcreate命令行测试一切正常,我不确定为什么为什么需要重新启动服务器。

我通过停止/启动Windows事件日志服务解决了此问题。 我不知道问题出在哪里,但就像里奥所说,这可能是一个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM