问题标签 [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.
permissions - 设置应用程序事件日志的权限
是否有某种方法可以设置 Windows 事件日志(在本例中为应用程序)的权限,类似于您可以对目录和文件执行的操作?
.net - .NET 是否支持 Windows Eventing 6.0?
我想使用 C# 应用程序中的 Windows Eventing 6 API 将消息记录到 Windows Server 2008 事件日志中的特定通道。关于如何使用它有一个很好的例子,但它只是 C++。在示例中提到 .NET 不支持 Windows Eventing 6。http://msdn.microsoft.com/en-us/magazine/cc163431.aspx和http://msdn.microsoft.com中有 2 个示例/en-us/library/aa382690(VS.85).aspx
我的问题是如何在 C# 中做到这一点,或者你知道是否有.Net 支持这个 API。
.net - 如何写入自定义 Windows 事件日志?
我正在尝试通过 .net 将基本日志记录设置到 .net 中的 Windows 事件日志System.Diagnostics.EventLog
,但我没有看到任何实际写入日志的事件。考虑以下代码:
根据 MSDN 示例,我第一次创建日志并退出应用程序。当然,此日志创建最终将进入设置。随后的运行尝试将消息记录到创建的事件日志中。
没有异常被抛出。日志似乎已成功创建(我可以在 Windows 事件查看器中打开它)。没有任何相关内容被记录到安全日志中。
任何一个都不会记录任何消息WriteEntry()
。由于名称不匹配,它们也不会放在应用程序日志中。在这种特殊情况下,我在禁用 UAC 的管理员帐户中在 Server2008 上运行。(这是需要不幸环境的较大遗留产品的一小部分。)我做错了什么?
(我这样做是因为我想EventLogTraceListener
在我的 app.config 中使用 an,而且它没有写任何东西,所以这是解决该问题的一部分。)
c# - 如何对事件日志中的 .NET 2.0 错误报告消息进行故障排除?
我在一个名为EVEMon的开源产品上工作,该产品是用 C# 编写的,针对 .NET 2.0 平台,我有一个用户正在遭受我们无法解决的奇怪的 .NET 崩溃。
应用程序本身崩溃而没有显示错误(尽管有错误处理 UI),上述消息是从 Windows 事件日志中复制出来的。最终用户已重新安装 .NET 并更新到最新版本。.PDB 文件随程序的每个发行版本一起分发,以帮助调试和测试,有问题的用户拥有正确版本的 EVEMon 的完整 PDB 文件。
是否有特定的、经过试验和测试的技术来分析和诊断这种类型的崩溃?如果是这样,有哪些工具和技术可用于帮助调试?
特别感谢
我要特别感谢 Steffen Opel 并强调他的回答虽然没有直接回答我提出的问题,但解决了我的代码库中更大的问题,即全局错误处理缺少一个重要组件。
sharepoint - 从 Sharepoint Webpart 中写入事件日志
我正在尝试创建自定义 Web 部件。为了实现错误处理,我想写入事件日志。为此,我正在尝试使用以下代码;
当我尝试执行此代码时,我收到一个共享点错误页面(未处理的异常)。当我查看事件日志时,我看到以下消息;“不允许请求的注册表访问”。
我在完全信任级别下运行(仅用于测试)。有人可以向我指出我需要什么样的权限才能写入事件日志吗?还是有其他方法?
大受帮助!
c# - 为什么这个事件日志的 EntryWritten 事件永远不会触发?
我在 C# 控制台应用程序和 C# Windows 服务中都有以下代码。它适用于控制台应用程序。它拾取指定的事件,并正确调用 MatchEvent()。C# windows 服务中的相同代码不会获取相同的指定事件,它永远不会看到它,但会看到其他事件。有问题的事件被写入应用程序日志,因此我不尝试读取安全日志。
我认为这是一个帐户权限问题(该服务作为 LocalSystem 运行)。我将服务更改为使用与运行控制台应用程序相同的帐户,但我仍然看到相同的行为。我确认没有使用 GP 或自定义注册表来更改权限(这是一个全新安装的操作系统),并且两个应用程序使用的帐户都是本地管理员。
有什么我想念的吗?我也研究了 EventLogPermission,但这似乎并不适用,因为我正在从 eventLog 中获取事件。
编码:
c# - 记录到自定义事件日志(C# 应用程序,但使用 win32 API)
由于 .NET EventLog 类的限制,我有一些使用 PInvoke 记录到应用程序日志的代码。该代码可以正常工作。
但是现在,我想登录到自定义事件日志。因此,我尝试将 RegisterEventSource 的第二个参数更改为“companyX”(我的自定义日志)。它正确地写入“companyX”(而不是应用程序日志),但它也将(单个日志条目的)源字段设置为“companyX”,这不是我想要的。
那么如何将代码修改为:
- 使用新的自定义事件日志(“companyX”),但也
- 使用正确的源值(“MyApp”)
目前,它要么正确写入应用程序日志(使用正确的 Source 值“MyApp”),要么写入自定义(“companyX”)事件日志,并使用不正确的Source 值(而不是“MyApp”,它将 Source 值设置为“companyX”,即自定义日志的名称)。
编辑:请注意,“companyX”日志已经创建(在 WIX 安装程序代码中)。
这是我的代码:
}
哦,这不是这里问题的重复: ASP.NET 错误的事件日志源属性的自定义值, 因为我必须为此使用 PInvoke。=)
debugging - 如何解决此事件日志问题?
我在我的事件日志中不断收到“svcListener”和“svcListener - Prof”的以下事件日志描述。有谁知道这是从哪里来的以及我该如何解决这个问题?
svc监听器
找不到 Source (svcListener) 中事件 ID (0) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅帮助和支持。以下信息是事件的一部分:无法对已关闭的数据集执行此操作。
svcListener - 教授
找不到 Source (svcListener-Prof) 中事件 ID (0) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅帮助和支持。以下信息是事件的一部分:Oracle 连接中的异常 - 12560 EOracleEr
c# - 在远程机器上读取事件日志的最快方法是什么?
我正在开发一个从远程机器读取事件日志(应用程序)的应用程序。我在 .net 中使用 EventLog 类,然后迭代日志条目,但这非常慢。在某些情况下,某些机器有 40000 多个日志条目,并且需要数小时来遍历这些条目。完成这项任务的最佳方法是什么?.net 中是否还有其他更快的类或任何其他技术?
c# - 唯一 EventId 生成
我正在使用 Windows 事件日志来记录一些事件。可以为 Windows 事件日志中的事件分配一些属性。其中之一是 EventID。
现在我想使用 EventId 来尝试和分组相关的错误。我可以为每次调用我所做的日志记录方法选择一个数字,但这似乎有点乏味。
我希望系统自动执行此操作。它将选择一个 eventId,该 eventId 对于发生日志事件的代码中的位置是“唯一的”。现在,只有 65536 个唯一事件 ID,因此可能会发生冲突,但它们应该足够少,以使 EventId 成为对错误进行分组的有用方法。
一种策略是获取堆栈跟踪的哈希码,但这意味着以下代码中的第一次和第二次调用将生成相同的事件 ID。
我想过使用具有 GetFileLineNumber 方法的 StackFrame 类向上调用堆栈。这种策略的问题在于,它只有在构建时使用调试符号时才有效。我也需要它在生产代码中工作。
有没有人有任何想法?