Skip to content
This repository has been archived by the owner on Jan 31, 2020. It is now read-only.

Commit

Permalink
Merge pull request #11 from davidlmorton/logging_configuration
Browse files Browse the repository at this point in the history
Add to logging configuration
  • Loading branch information
mkiwala committed Jan 27, 2015
2 parents 25eda64 + ecb9f34 commit 5726a81
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions ptero_common/logging_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@
import logging
import os

try:
from flask import request
except:
# Not everybody who uses ptero_common has requires/uses flask
pass


def configure_celery_logging(service_name):
configure_logging(
'PTERO_%s_LOG_LEVEL' % service_name,
'PTERO_%s_LOG_WITH_TIMESTAMPS' % service_name)
logging.getLogger('requests').setLevel(
os.environ.get('PTERO_%s_REQUESTS_LOG_LEVEL' % service_name, 'WARN'))
logging.getLogger('celery').setLevel(
os.environ.get('PTERO_%s_CELERY_LOG_LEVEL' % service_name, 'WARN'))
logging.getLogger('amqp').setLevel(
os.environ.get('PTERO_%s_AMQP_LOG_LEVEL' % service_name, 'WARN'))
logging.getLogger('kombu').setLevel(
os.environ.get('PTERO_%s_KOMBU_LOG_LEVEL' % service_name, 'WARN'))


def configure_logging(level_env_var, time_env_var):
if int(os.environ.get(time_env_var, "1")):
Expand All @@ -13,8 +33,23 @@ def configure_logging(level_env_var, time_env_var):
format_str += '%(levelname)5s ' + colored('[%(name)s] ', 'green')
format_str += '%(message)s'

logging.basicConfig(format=format_str,
level=os.environ.get(level_env_var, 'INFO').upper())
logging.basicConfig(
format=format_str,
level=os.environ.get(level_env_var, 'INFO').upper())


def log_response(logger):
def _log_response(target):
def wrapper(*args, **kwargs):
body, code = target(*args, **kwargs)

logger.info("Responded %s to %s %s",
code, target.__name__.upper(), request.url)
logger.debug(" Body: %s", body)
return body, code
return wrapper
return _log_response


def log_request(target, kind):
def wrapper(*args, **kwargs):
Expand All @@ -34,6 +69,7 @@ def wrapper(*args, **kwargs):
return response
return wrapper


class LoggedRequest(object):
def __getattr__(self, name):
return log_request(getattr(requests, name), name)
Expand Down

0 comments on commit 5726a81

Please sign in to comment.