c# - 如何从 Windows XP 下的程序中知道或更改 Windows 事件日志的大小?

标签 c# c++ windows event-log

<分区>

我在 Windows XP 系统上遇到了一个奇怪的问题。我的本地服务应用程序将其诊断消息记录到 Windows 事件日志中,因此在某些时候这些消息已停止记录。我以为问题出在我的代码中,但后来我发现其他进程也无法记录消息。

所以我想知道,Windows 事件日志的大小是否有限制?

附言。我想我需要专门写这个——我需要从命令行或 API 知道/更改大小。

最佳答案

限制和行为取决于日志配置。如果“达到最大日志大小时”设置为“不覆盖事件”,请检查日志属性。如果是这样,则不会记录事件。您也可以在那里设置限制。

更新:事实证明问题是如何以编程方式检查上述行为。请看EventLog.OverflowAction , EventLog.MaximumKilobytes , 和 EventLog.MinimumRetentionDays属性,这应该足够了。

关于c# - 如何从 Windows XP 下的程序中知道或更改 Windows 事件日志的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320314/

相关文章:

c# - 什么都不做的异步方法

c# - 访问 Custom.Configuration 文件中的 AppSettings (CS0122)

c++ - 有没有办法将 Fitnesse 合并到 C++ 代码中?

c++ - 省略数据类型(例如 "unsigned"而不是 "unsigned int")

windows - 使用 Windows 为 Mac 进行 Haxe 交叉编译

c# - DLL 引用有多昂贵?

c# - HttpHandler - 大型 Xml - 标记已损坏

c++ - 模板 getID 调用常规 getID

windows - 从 Cmd 行上的文件批量删除文件

c++ - 线程安全的 Hook 函数