Obter a localização dos ficheiros de registo de eventos do windows
estamos a usar o EventLog para registar excepções. há um tópico de fundo que verifica uma vez que o eventlog ficar cheio e programaticaly transfere os itens para um arquivo XML e, em seguida, limpar o log do evento.
Isto funciona bem, mas parece que há muito trabalho a ser feito, pensei que seria melhor simplesmente copiar o .o ficheiro evt usado para registar a aplicação actual e depois limpar o registo do evento.Existe alguma maneira de encontrar a localização/Localização do ficheiro que vai trabalhar em todos OS sistemas operativos do windows?
O SEU sugeriu usar
Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\EventLog\\" + e.Log);
mas os nomes dos registos da minha aplicação não têm uma propriedade de ficheiro.
0
1 answers
Como estás a arquivá-los agora? Talvez esse método possa ser melhorado para ganhar desempenho.
Eis um exemplo.
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);
Ou pode usar o método ClearLog ().
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
Mais informações podem ser encontradas aqui:
2
Author: Christophe Geers, 2012-06-21 08:03:45