导出应用程序事件日志

时间:2017-11-06 09:36:45

标签: c# event-log

导出Windows应用程序事件日志时遇到问题。我使用了msdn的代码。

try
      {
          EventLogSession els = new EventLogSession();
          els.ExportLogAndMessages("Application", PathType.LogName, "*", 
              Path.Combine(temporaryDirectory, "ApplicationLogs.evtx"), false, 
                 CultureInfo.CurrentCulture);
      }
            catch (UnauthorizedAccessException e)
            {
                MessageBox.Show("Unauthorized access to event logs. "+e.Message);
            }
            catch (EventLogNotFoundException e)
            {
                MessageBox.Show("Event logs not found. "+e.Message);
            }
            catch (EventLogException e)
            {
                MessageBox.Show("Event log exception. "+e.Message);
            }

当我启动程序时,代码在我的计算机上正常运行。但是,当在某些不同的计算机上使用时,我有时会遇到异常"事件日志异常。目录名称无效"。 evtx文件已正确导出,但包含.MTA文件的LocaleMetadata文件夹不存在,并引发异常。我曾尝试在互联网上搜索解决方案,但无法找到。导出的日志文件将在不同的计算机上查看,因此我的理解是我也需要导出元数据文件。如何确保区域设置元数据文件夹始终与evtx文件一起导出而不抛出所述异常?

1 个答案:

答案 0 :(得分:0)

请参见here。如果您以管理员身份运行该程序,它将起作用。至于为什么会这样,我不知道。