Python WINEVTLOG打开备份日志

时间:2011-07-21 04:52:31

标签: python event-log

我正在尝试使用OpenBackupEventLog(“”,file)来打开保存在CDrom上的事件日志。我正在通过循环来加载子目录下的每个文件。我现在有两个问题   1.脚本将在屏幕上提取第一个文件名并输出事件,但是当它们到达结尾时它不会重置。   2.当它通过列表的第二个位置时,它会出现找不到文件的错误。

import win32evtlog

e = os.listdir('D:\\SomeDir\\AnotherDir\\')

for item in range(len(e)):
    handle = win32evtlog.OpenBackupEventLog("None", e[item])
    flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
    total = E.GetNumberofEventLogRecords(handle)
    print "Total events are: ", total

    while True:
        event_list = win32evtlog.ReadEventLog(handle, flags, 0)
        if event_list:
            for event in event_list:
            info = (event.EventType,
                    event.TimeGenerated,
                    event.SourceName,
                    event.EventID)
            print info

感谢任何帮助;这就像我无法用win32evtlog关闭连接。我使用了win32evtlog.CloseEventLog(句柄)。

1 个答案:

答案 0 :(得分:0)

导致我的问题的项目很少:

  1. CDrom或CD出错了;我必须将文件复制到临时目录,然后处理它们。
  2. 循环结束时没有中断;如果不是事件:休息