Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取windows事件日志文件的位置_C#_.net_Logging_Event Log - Fatal编程技术网

C# 获取windows事件日志文件的位置

C# 获取windows事件日志文件的位置,c#,.net,logging,event-log,C#,.net,Logging,Event Log,我们正在使用EventLog记录异常。有一个后台线程,它在事件日志变满后进行检查,并通过编程将条目传输到XML文件中,然后清除事件日志 这很好,但似乎有太多的工作要做,我认为最好是简单地复制用于记录当前应用程序的.evt文件,然后清除事件日志 有没有办法找到在每个windows操作系统上都可以使用的文件的位置/路径 它的用途 但是我的应用程序日志名没有文件属性。现在如何存档它们?也许可以改进该方法以获得性能 这里有一个例子 EventLogSession els = new EventLogSe

我们正在使用EventLog记录异常。有一个后台线程,它在事件日志变满后进行检查,并通过编程将条目传输到XML文件中,然后清除事件日志

这很好,但似乎有太多的工作要做,我认为最好是简单地复制用于记录当前应用程序的.evt文件,然后清除事件日志

有没有办法找到在每个windows操作系统上都可以使用的文件的位置/路径

它的用途


但是我的应用程序日志名没有文件属性。

现在如何存档它们?也许可以改进该方法以获得性能

这里有一个例子

EventLogSession els = new EventLogSession();
els.ExportLogAndMessages("Security",             // Log Name to archive
                         PathType.LogName,       // Type of Log
                         "*",                    // Query selecting all events
                         "C:\\archivedLog.evtx", // Exported Log Path 
                         false,                  // Stop archive if query is invalid
                         CultureInfo.CurrentCulture);
也可以使用ClearLog()方法

更多信息可在此处找到:


谢谢,这很有帮助。看起来ClearLog方法使用起来非常简单,我注意到您提到了性能,ClearLog是性能方面的最佳选择吗?这对我很重要,因为性能是这一变化的主要原因。我不知道,但我肯定会将其与您现在拥有的任何实现进行比较。
EventLogSession els = new EventLogSession();
els.ExportLogAndMessages("Security",             // Log Name to archive
                         PathType.LogName,       // Type of Log
                         "*",                    // Query selecting all events
                         "C:\\archivedLog.evtx", // Exported Log Path 
                         false,                  // Stop archive if query is invalid
                         CultureInfo.CurrentCulture);
EventLogSession els = new EventLogSession();

// Clears all the events and archives them to the .evtx file
els.ClearLog("System",          //  Channel to Clear
             "c:\\myLog.evtx"); //  Backup File Path