问题标签 [event-log]

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.

0 投票
2 回答
8120 浏览

event-log - 如何在没有 EventMessageFile 的情况下读取 Windows 事件日志?

我有读取 Windows 事件日志的代码。它使用 OpenEventLog、ReadEventLog 并获取事件源和事件 ID。然后它在下面查找源

键,根据其中列出的内容加载适当的 DLL EventMessageFile,最后用于FormatMessage将事件字符串与消息 DLL 内容合并以获得最终的事件消息文本。这是推荐的方法,虽然有点痛苦,但效果很好。

直到...我去查找源并发现它没有一个EventMessageFile,而是一个ProvideGuid条目。这似乎是一种新方式(它们出现在 Vista 和 Windows 2008 上)。Uggh - 没有任何东西可以传递给 FormatMessage 来查找消息文本并合并到数据字符串中

:(

在注册表中搜索 guid 确实会导致对其他文件的引用(在 HTTP 源的情况下为 http.sys),但我永远无法获得完整的消息文本。我必须使用这些EvtOpenSessionAPI 吗?我希望不会,因为我已经EVENTLOGRECORD*调用了 to ReadEventLog,并且该软件需要在EvtOpenSession不受支持的 Windows 2003 上运行(仅在 Vista 和 Windows 2008 上可用)。注意:Vista 上的某些源具有 ProviderGUID,而另一些具有 EventMessageFile,因此旧方法仍然可行。

因此,我所追求的是一种查看 ProviderGuid 并获取需要传递给 FormatMessage 以显示完整事件日志消息文本的 DLL 的方法。

感谢您的任何意见

0 投票
2 回答
6169 浏览

c# - 如何以编程方式打开事件日志?

我使用通常的方法将错误记录到事件日志中:

并且想知道是否有一种方法可以调用此日志文件并将其显示给用户(以我自己的格式或像“事件查看器”一样直接打开事件日志文件)。

我在 %SystemRoot%\System32\Winevt\Logs\mylog.evtx 中找到了该文件,但不确定是否应该以这种方式处理它。理想情况下,我想模拟事件查看器的功能,但为我的应用程序定制。

0 投票
2 回答
24468 浏览

event-log - 搜索事件日志以找出程序何时被卸载

我试图通过搜索事件日志来找出何时在 Win2k 机器上卸载程序。我应该搜索哪个日志,是否有任何好的关键字可以搜索以标记卸载事件?

0 投票
3 回答
6102 浏览

file - 什么是事件记录?以及如何编写事件日志文件?

什么是事件记录?以及如何为应用程序编写事件日志文件?我想记录应用程序的所有活动,包括它何时使用 .dll 等,并显示应用程序的信息。

0 投票
4 回答
38881 浏览

batch-file - 在 Windows Server 上备份事件日志的简单方法

是否可以创建一种简单的方法来备份事件日志,例如批处理文件或简单的应用程序?我需要让它在客户的网站上工作,其中的参考是非专家用户。谢谢

0 投票
4 回答
3149 浏览

delphi - 将 Windows 事件日志改造为 Delphi 5 应用程序

我正在寻找一种(相当轻松)向小型旧版 Delphi 5 应用程序添加一些 Windows 应用程序事件日志支持的方法。我们只希望它在启动、关闭、无法连接到数据库等时记录下来。

我见过的几个解决方案/组件似乎表明我们需要创建一个资源 DLL,Windows 事件日志查看器在尝试读取我们的“条目”时将链接到该 DLL。虽然这看起来并不太繁琐,但我想如果/当我们将来进一步开发应用程序时,还需要记住其他一些事情——我们需要让这个 DLL 保持最新。

在未来的某个时候,我们希望将应用程序变成服务,可能是用 D2007 编写的。

那么任何人都可以推荐一条合适的路线来将事件添加到 D5 中的事件日志中吗?我正在寻找具体的“我们使用了这个并且没问题”的评论,而不是谷歌拖网(我可以自己做!)免费或付费,真的不介意 - 但我可以迁移到 D2007未来很重要。

0 投票
5 回答
679 浏览

windows - What is Windows Event Logging

Can anyone explain what is Windows Event Logging?

0 投票
1 回答
3475 浏览

exception - 在 Windows 事件查看器中诊断 CLR 错误

我们有一个在生产中崩溃的 .NET 桌面应用程序。我们如何诊断错误?我想知道发生的异常类型、错误消息和堆栈跟踪。

因为我们的代码没有处理异常,所以我们收到了“此应用程序遇到问题,需要关闭” Windows 消息框。唯一的选择是关闭,没有调试按钮。

这篇 MSDN 文章建议查看 Windows 事件注册表。我在那里查了一下,里面的信息如下:

错误应用程序 Initect.Server.UI.exe,版本 0.12.9084.90,时间戳 0x49cac472,错误模块 KERNEL32.dll,版本 6.0.6001.18000,时间戳 0x4791a81d,异常代码 0xe0434f4d,错误偏移量 0x0002f35f,进程 id 0x44c,应用程序启动时间 019070x

这些信息如何告诉我异常类型、堆栈跟踪和错误消息?

0 投票
1 回答
159 浏览

logging - 事件源问题

为什么我的事件源名称 XXXXXXXXXXXX 中会附加一些字符?

事件查看器这样说:

找不到源 (XXXXXXXXXXXXtings\All Usõ) 中事件 ID (5) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅帮助和支持。以下信息是事件的一部分:XXXXXXXXXXXXtings\All Usõ。

0 投票
2 回答
400 浏览

c# - 是否有内置方法对 .NET EventLog.Entries 集合中的条目进行二进制搜索?

我正在开发一个日志解析服务,用于捕获 Windows 事件日志中的特定安全事件。我最初的想法是使用 Microsoft 的LogParser,但除了选择预先已知的特定实例/事件 ID 之外,我并没有寻找任何功能。

经过一些基准测试后,我发现迭代整个 .NETEventLog.Entries集合在提取数据方面比查询 Microsoft 的 LogParser 快 3 倍多。

最终,要提取的数据将保存在 SQL Server 数据库中。由于该服务每天都会执行此任务,因此我希望避免重复条目,并且我需要一种方法来查找EventLog.Entries集合中尚未在数据库中的下一个条目。一旦找到初始条目,我就可以开始插入数据库。

我正要编写一个二分搜索,以使用DATETIME数据库中最新的时间戳字段来查找此条目,并将其与集合TimeWritten中某个项目的属性进行比较。EventLog.Entries我可以这样做,但我想知道是否已经有内置方法来执行此搜索?