首页 > 解决方案 > 如何在 python 中读取“应用程序和服务日志”下的事件日志?

问题描述

我想使用 win32evtlog 读取“应用程序和服务日志”下的一些事件日志。

我可以阅读属于“系统”、“应用程序”、“安全”和其他标准日志的事件日志。但是当我尝试从“Microsoft-Windows-TerminalServices-LocalSessionManager/Operational”中读取一些日志时,我会得到“应用程序”的日志。

我尝试使用类似这里的东西,但我似乎无法在 python 中做。

import win32evtlog

server = 'localhost'
logtype = "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational"
handle = win32evtlog.OpenEventLog(server, logtype)
flags = win32evtlog.EVENTLOG_FORWAEDS_READ | win32evtlog.EVENTLOG_SEQUENTIAL_READ
while True:
    events = win32evtlog.ReadEventLog(hand, flags,0)
    if events:
        for event in events:
           print ('Source Name:', event.SourceName)
           print ('Event ID:', event.EventID)
           print ('Time Generated:', event.TimeGenerated)

我更喜欢使用 pywin32,但这不是必须的。

标签: pythonpywin32event-logcustom-eventlog

解决方案


一行有错字

flags = win32evtlog.EVENTLOG_FORWAEDS_READ | win32evtlog.EVENTLOG_SEQUENTIAL_READ

你写的是 EVENTLOG_FORWAEDS_READ 而不是 EVENTLOG_FORWARDS_READ


推荐阅读