如何生成标准apache日志格式记录器python

如何生成标准apache日志格式记录器python,python,apache,logging,grok,aiohttp,Python,Apache,Logging,Grok,Aiohttp,有人能帮忙吗?? 我正在用python编写一个简单的脚本。我想做的是 以标准格式将脚本的输出记录到日志文件 apache日志格式 我的剧本: >>> def examine(a): ... if a == "OK": ... print True ... else: ... print False 检查('sasasa') False 检查('OK') 正确 这个想法是将这个函数的输出记录到*.log文件中 以与apache相同的方式 因此

有人能帮忙吗?? 我正在用python编写一个简单的脚本。我想做的是 以标准格式将脚本的输出记录到日志文件 apache日志格式

我的剧本:

>>> def examine(a):
...    if a == "OK":
...       print True
...    else:
...       print False
检查('sasasa') False

检查('OK') 正确

这个想法是将这个函数的输出记录到*.log文件中 以与apache相同的方式

因此,代码应该继续这样运行:

import logging
logger = logging.getLogger('name_of_my_application')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('logFileName.log')
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.info(examine('sasasa'))
问题可能是如何生成正确的
formatter=logging.formatter(…)

我需要这个,因为我将在这个日志文件中应用grok过滤器,以在ELK堆栈中显示它们

COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)
COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}

# Log Levels
LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)
COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)
COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}

# Log Levels
LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)