问题标签 [eventlog-source]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 持有可执行文件句柄的 Windows 事件日志服务
我有一个在启动和关闭时记录事件日志记录的服务应用程序。
我经常重建应用程序,然后在主机上重建可执行文件。这就是问题所在,在我的服务关闭后,Windows Eventlog 服务(不是事件日志查看器)持有可执行文件的打开句柄,因此我无法更新它。
我在可执行文件中嵌入了事件日志消息,我可以将其移出,但我只是将更新问题移至另一个文件。
我已经仔细检查并正确配对了 ::RegisterEventSource/::DeregisterEventSource。
有人遇到过这个问题吗?
.net - 新的日志源需要多长时间才能生效?
MSDN 上的EventLog.Source 属性文档状态:
在安装应用程序期间创建新的事件源。这允许操作系统有时间刷新其已注册事件源及其配置的列表。
“允许时间”是什么意思?我在测试服务器上为我们的应用程序添加了新的日志源,但我仍然收到“跟踪 LogSource 'Information' failed”错误。
顺便说一句,我System.Diagnostics.EventLog.CreateEventSource
用来创建我的资源;我看到 MSDN 文档谈论这与使用“相似”,EventLogInstaller
但没有详细说明差异 [叹气]。有关系吗?
windows - 在 Windows 中,应用程序事件日志中有哪些默认事件源可用?
精简版:
事件源“应用程序”和“应用程序错误”是否始终包含在应用程序事件日志中?它们是否可用于新安装的 Windows XP、Vista 和 Windows 7?使用它们而不是创建我自己的源(对我来说不可能)真的很糟糕吗?
长版:
我有一个 ClickOnce 应用程序,供在其计算机上没有管理权限的用户使用。
当我尝试写入应用程序事件日志时,我得到一个安全异常。(Windows 事件日志基础结构正试图为我创建一个新的事件源,并且违反了安全规定。)
所以我想尝试重用现有的事件源。我在应用程序事件日志中发现了只有两个“通用”的来源。这些是否总是 Windows 安装的一部分,并且会做出合理的选择?
我确信这是不赞成的,因为我应该使用自己的事件源来区分我的应用程序。但这是针对罕见的致命错误,我的代码应该在其他地方记录这些错误。我只是想要一个非常容易在客户端机器上找到它们的地方,以防万一一切都出错了......
wix - 如何查找是否创建了事件源?
我正在使用示例代码创建事件源:
如何确认是否创建了事件源?
wix - 如何使用 WiX 创建 .NET 事件日志源
这是对How do you create an event log source using WiX and WIX: Create EventSource using .NET message file的有意半重复。
我的第一个问题是,它真的必须如此复杂吗?是否有某种方法可以简单地指定给 WiX,“我的程序是一个 .Net 程序,它需要写入事件日志 - 请进行必要的设置”?
好的,假设这是不可能的,我希望收到任何关于必要的 WiX 语句以使其工作的建议,无论安装了哪个版本的 .Net Framework,也不管它是 32 位还是 64 位系统。毕竟,我的大多数 .Net 程序都能够在 .Net 2.0 或更高版本上运行,并且可以在 32 位或 64 位上运行,所以这无关紧要。
最后一个问题:有没有办法让它经得起未来的考验?如果我今天生成的 MSI 文件在五年内仍然可以工作,那就太好了,即使 .Net CLR 2.0 和 4.0 在 Windows 11 或当时所谓的任何东西中都已被归入垃圾箱。
c# - 在 ClickOnce 应用程序中使用 EventLog
我有一个跨多个 ClickOnce 应用程序使用的库。如果此库中出现错误,我想将错误写入 windows EventLog
。
我找到了一篇关于如何的知识库文章,但似乎这需要管理员权限才能搜索源。具体来说,它在尝试搜索Security
事件日志时会阻塞。
有没有办法解决这个问题并写入 ClickOnce 应用程序中的事件日志?我看到有人试图写信给已知来源,但他们似乎无法找到始终可用的来源。
编辑:
根据此处的答案,我创建了一个包含在我的应用程序中的程序,我可以在第一次运行时运行它来设置可以获得管理员权限的事件源。但是,一旦创建了源,似乎我仍然无法写入它。
正确创建源(相当于 Yannick Blondeau 提供的注册表编辑)。当我在我的非提升应用程序中写入源时,我收到一个新错误,但它仍然不起作用。新的错误是:
Cannot open log for source 'ATE'. You may not have write access.
编辑2:
我现在一直在尝试通过CustomSD key上的注册表编辑使其工作。我尝试添加 (A;;0x7;;;AU) 为经过身份验证的用户提供完全访问权限,但它似乎没有任何效果。
powershell - 如何确定 EventLog 是否已经存在
我正在使用以下行来创建新的事件日志
我想每次都运行它,因为如果我从新计算机运行构建,我仍然希望查看事件日志。
问题是每次在创建日志后运行脚本时,都会引发错误。
现在我知道我可以“搜索”事件日志
但是现在我如何确定它是否存在?
xpath - XPath 大于运算符?
我正在尝试选择某个日期之后的所有事件日志条目。到目前为止,我认为我得到了等于,但我不知道如何将其更改为大于指定日期......如此接近但到目前为止!
c# - 如何从 Windows 事件查看器获取特定应用程序的事件日志
我正在实现一个类似于 Windows 事件查看器的应用程序。我的意思是它在类的帮助下监控系统事件日志和应用程序事件EventLog
日志EventLogEntry
。
是否可以获取特定进程(例如 Chrome)的应用程序事件日志?
在日志条目列表中,我可以找到不同的来源,例如、"Winlogon"
等,但不是特定应用程序的名称。"WMI"
"MSSQL$SQLEXPRESS"
vb.net - 事件日志名称不是“应用程序”,但日志写入“应用程序”日志
在我的 VB.NET 应用程序中,我创建了一个名为“My_Log”的新事件日志名称,并且我让该应用程序在许多不同的情况下运行,其中每种情况都由一个唯一的名称命名,并且在记录时,我创建了新的事件源使用以下功能在我的新日志上使用这些唯一名称:
现在,我所有的日志都写在我的日志中,但只有 3 或 4 个!它们写在“应用程序”日志上。
我尝试EventLog.LogNameFromSourceName("My_1st_Source", Environment.MachineName)
在所有情况下使用(具有所有不同的事件源名称)以查看它们在我的日志“My_Log”下,并且它们都给了我相同的结果,它们在我的日志名称下;但其中一些仍然出现在“应用程序”日志中。
为什么会这样?有没有办法让我的所有日志都以我的日志名称命名?谢谢。