Flaresolver / src /bottle_plugins /logger_plugin.py
Mythus's picture
Upload 42 files
7708074 verified
from bottle import request, response
import logging
def logger_plugin(callback):
"""
Bottle plugin to use logging module
http://bottlepy.org/docs/dev/plugindev.html
Wrap a Bottle request so that a log line is emitted after it's handled.
(This decorator can be extended to take the desired logger as a param.)
"""
def wrapper(*args, **kwargs):
actual_response = callback(*args, **kwargs)
if not request.url.endswith("/health"):
logging.info('%s %s %s %s' % (request.remote_addr,
request.method,
request.url,
response.status))
return actual_response
return wrapper