如何知道应用程序事件日志是否已满或没有。有任何选项可以清除应用程序事件日志中的所有事件。我的代码是
EventLog log = new EventLog("Application");
log.Source = "Voting Editor Tool";
log.WriteEntry(ex.Message);
答案 0 :(得分:4)
您可以尝试抓住
try
{
EventLog log = new EventLog("Application");
log.Source = "Voting Editor Tool";
log.WriteEntry(ex.Message);
}
catch (Win32Exception w32ex)
{
// full
}
清除事件日志使用
log.clear();
来自文档的引用。
事件日志设置的最大大小决定了它们可以包含的条目数。当事件日志已满时,它将停止记录新事件信息或开始覆盖先前的条目。如果事件记录停止,您可以使用此方法清除现有条目的日志,并允许它再次开始记录事件。您必须具有日志所在的计算机的管理员权限才能清除事件日志条目。
答案 1 :(得分:1)
您可以转到事件查看器并指定日志是循环的,因此旧条目将根据需要被新的条目吃掉。
我确信您可以在运行安装脚本时指定此项,该脚本会为您的应用程序创建新的事件日志。
答案 2 :(得分:1)
为了避免这种情况,我们需要将“OverflowAction”Action属性设置为“OverwriteAsNeeded”或“OverwriteOlder” 如下图所示:
enter code here
EventLog eventLog = new EventLog();
eventLog.Source = "ViewImagePDF";
if (eventLog.OverflowAction != OverflowAction.OverwriteAsNeeded)
{
eventLog.ModifyOverflowPolicy(OverflowAction.OverwriteAsNeeded, 1);
}
eventLog.WriteEntry("This is sample information", EventLogEntryType.Information);
请关注LINK 谢谢, 希狄。