2009-03-19 30 views

Trả lời

1

Cuối cùng tôi làm một chút winapp sử dụng phương pháp này tìm thấy trên internet:

public void DoBackup(string sLogName) 
{ 
    string sBackup = sLogName; // could be for example "Application" 
    EventLog log = new EventLog(); 
    log.Source = sBackup; 

    var query = from EventLogEntry entry in log.Entries 
       orderby entry.TimeGenerated descending 
       select entry; 

    string sBackupName = sBackup+"Log"; 
    var xml = new XDocument(
     new XElement(sBackupName, 
      from EventLogEntry entry in log.Entries 
      orderby entry.TimeGenerated descending 
      select new XElement("Log", 
       new XElement("Message", entry.Message), 
       new XElement("TimeGenerated", entry.TimeGenerated), 
       new XElement("Source", entry.Source), 
       new XElement("EntryType", entry.EntryType.ToString()) 
      ) 
     ) 
     ); 

    DateTime oggi = DateTime.Now; 
    string sToday = DateTime.Now.ToString("yyyyMMdd_hhmmss"); 
    string path = String.Format("{0}_{1}.xml", sBackupName, sToday); 
    xml.Save(Path.Combine(Environment.CurrentDirectory, path)); 
} 

này là nguồn link:

Nó chỉ đơn giản làm việc lớn!

1

Microsoft Script Center có một số mẫu mã cho Backing Up and Clearing Event Logs sử dụng VBScript và WMI.

Trang web Script của Frank-Peter Schultze có một số mã để xóa nhật ký sự kiện (http://www.fpschultze.de/uploads/clrevt.vbs.txt) mà bạn có thể sửa đổi để sao lưu hoặc sao lưu sau đó xóa.

Nếu bạn có quyền truy cập vào máy chủ, bạn có thể sao lưu từ Trình xem sự kiện bằng cách nhấp chuột phải vào nhật ký và sử dụng lệnh "Lưu tệp nhật ký dưới dạng ...". Bạn có thể lưu vào tệp nhị phân, phân cách bằng dấu phẩy hoặc dấu phẩy.

4

Với powershell và export-clixml trình duyệt của nó.

get-eventlog -list | %{ get-eventlog $_.Log | export-clixml -path ($_.Log + ".xml") } 
Các vấn đề liên quan