如何使用Python创建Windows事件日志

如何使用Python创建Windows事件日志,python,windows,pywin32,event-log,Python,Windows,Pywin32,Event Log,我在将事件日志写入Windows事件查看器时遇到问题。我想在应用程序和服务日志菜单下注册一个自定义事件日志,但我不知道如何在Python中注册(在本例中,我使用的是PyWin32)。基本上,我们可以用Powershell的新事件日志注册自定义日志,但我想用Python来注册 以下是我所做的一些尝试: 使用Powershell的新事件日志创建事件日志: neweventlog-LogName-Source 在Python中,打开具有注册日志名的处理程序: 导入win32evtlog han

我在将事件日志写入Windows事件查看器时遇到问题。我想在
应用程序和服务日志
菜单下注册一个自定义事件日志,但我不知道如何在Python中注册(在本例中,我使用的是PyWin32)。基本上,我们可以用Powershell的
新事件日志注册自定义日志,但我想用Python来注册

以下是我所做的一些尝试:

  • 使用Powershell的
    新事件日志创建事件日志
neweventlog-LogName-Source

  • 在Python中,打开具有注册日志名的处理程序:
导入win32evtlog
hand=win32evtlog.OpenEventLog(无,'CustomRegisteredEventLog')
#然后写入事件日志
win32evtlog.ReportEvent(hand,win32evtlog.EVENTLOG_信息_类型,0,0,无,['some message'],无)

上面这些步骤实际上是有效的,日志已成功提交到事件日志,但我仍然需要使用Python注册事件日志。有谁能指导我如何在Python上实现这一点吗?

我在下面为您发布了我目前对这一点的理解的完整代码

import win32evtlogutil
import win32evtlog
import sys

print("Python {0} on {1}".format(sys.version,sys.platform))

variable = ["x,","y","z"]


App_Name = "Python test"
App_Event_ID = 10001
App_Event_Category = 90
#App_Event_Type = win32evtlog.EVENTLOG_WARNING_TYPE
App_Event_Str = ["scanned: {}".format(var) for var in variable]
App_Event_Data= b"xyz"

'''

win32evtlogutil.ReportEvent(ApplicationName, EventID, EventCategory,EventType,Inserts, Data, SID)

'''


win32evtlogutil.ReportEvent(App_Name,App_Event_ID, eventCategory= App_Event_Category,
                                eventType=win32evtlog.EVENTLOG_INFORMATION_TYPE,
                                strings=App_Event_Str,data=App_Event_Data)