Skip to content

Commit 017f305

Browse files
committed
Merge pull request binarymatt#119 from iserko/dont_override_logging_root_handler
Pyres is setting the root logger if ResQ class is used by third party modules
2 parents b07f6d6 + b475a74 commit 017f305

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

pyres/__init__.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import sys
99
import logging
1010

11+
logger = logging.getLogger(__name__)
12+
1113
def special_log_file(filename):
1214
if filename in ("stderr", "stdout"):
1315
return True
@@ -56,7 +58,8 @@ def get_logging_handler(filename, procname, namespace=None):
5658
def setup_logging(procname, log_level=logging.INFO, filename=None):
5759
if log_level == logging.NOTSET:
5860
return
59-
logger = logging.getLogger()
61+
main_package = __name__.split('.', 1)[0] if '.' in __name__ else __name__
62+
logger = logging.getLogger(main_package)
6063
logger.setLevel(log_level)
6164
handler = get_logging_handler(filename, procname)
6265
logger.addHandler(handler)
@@ -214,18 +217,18 @@ def enqueue(self, klass, *args):
214217
class_name = '%s.%s' % (klass.__module__, klass.__name__)
215218
self.enqueue_from_string(class_name, queue, *args)
216219
else:
217-
logging.warning("unable to enqueue job with class %s" % str(klass))
220+
logger.warning("unable to enqueue job with class %s" % str(klass))
218221

219222
def enqueue_from_string(self, klass_as_string, queue, *args, **kwargs):
220223
payload = {'class':klass_as_string, 'args':args, 'enqueue_timestamp': time.time()}
221224
if 'first_attempt' in kwargs:
222225
payload['first_attempt'] = kwargs['first_attempt']
223226
self.push(queue, payload)
224-
logging.info("enqueued '%s' job on queue %s" % (klass_as_string, queue))
227+
logger.info("enqueued '%s' job on queue %s" % (klass_as_string, queue))
225228
if args:
226-
logging.debug("job arguments: %s" % str(args))
229+
logger.debug("job arguments: %s" % str(args))
227230
else:
228-
logging.debug("no arguments passed in.")
231+
logger.debug("no arguments passed in.")
229232

230233
def queues(self):
231234
return self.redis.smembers("resque:queues") or []
@@ -284,10 +287,10 @@ def enqueue_at(self, datetime, klass, *args, **kwargs):
284287
self.enqueue_at_from_string(datetime, class_name, klass.queue, *args, **kwargs)
285288

286289
def enqueue_at_from_string(self, datetime, klass_as_string, queue, *args, **kwargs):
287-
logging.info("scheduled '%s' job on queue %s for execution at %s" %
290+
logger.info("scheduled '%s' job on queue %s for execution at %s" %
288291
(klass_as_string, queue, datetime))
289292
if args:
290-
logging.debug("job arguments are: %s" % str(args))
293+
logger.debug("job arguments are: %s" % str(args))
291294
payload = {'class': klass_as_string, 'queue': queue, 'args': args}
292295
if 'first_attempt' in kwargs:
293296
payload['first_attempt'] = kwargs['first_attempt']

0 commit comments

Comments
 (0)