diff --git a/scrapyrt/conf/default_settings.py b/scrapyrt/conf/default_settings.py index c806ae2..67cbcd7 100644 --- a/scrapyrt/conf/default_settings.py +++ b/scrapyrt/conf/default_settings.py @@ -1,7 +1,9 @@ # -*- coding: utf-8 -*- """Default scrapyrt settings.""" +import logging # Project settings module - found at server initialization + PROJECT_SETTINGS = None # Path to server log file @@ -12,6 +14,8 @@ LOG_ENCODING = 'utf-8' +LOG_LEVEL = logging.DEBUG + # Root server resource, should inherit from scrapyrt.resources.RealtimeAPI SERVICE_ROOT = 'scrapyrt.resources.RealtimeApi' diff --git a/scrapyrt/core.py b/scrapyrt/core.py index 1688175..855280a 100644 --- a/scrapyrt/core.py +++ b/scrapyrt/core.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +import logging from collections import OrderedDict from copy import deepcopy import datetime @@ -272,10 +273,11 @@ def create_spider_request(self, kwargs): # It is needed because in POST handler we can pass # all possible requests kwargs, so it is easy to make mistakes. message = "Error while creating Request, {}".format(e.message) + log.msg(message, level=logging.WARNING) raise Error('400', message=message) req.dont_filter = True msg = u"Created request for spider {} with url {} and kwargs {}" msg = msg.format(self.spider_name, url, repr(kwargs)) - log.msg(msg) + log.msg(msg, level=logging.DEBUG) return req diff --git a/scrapyrt/log.py b/scrapyrt/log.py index 0dce42b..c21706f 100644 --- a/scrapyrt/log.py +++ b/scrapyrt/log.py @@ -22,7 +22,10 @@ def msg(message=None, **kwargs): - kwargs['logLevel'] = kwargs.pop('level', INFO) + loglevel = kwargs.get('level', INFO) + configured_log_level = scrapyrt_settings.LOG_LEVEL + if loglevel < configured_log_level: + return kwargs.setdefault('system', 'scrapyrt') if message is None: log.msg(**kwargs)