from my email at https://groups.google.com/a/pyfarm.net/d/msgid/discuss/2497388.8XRD43bdls%40r008:

====================
Hmm, I looked around some and there seems to be some conflicting information (at least at a first glance) about what the problem could be.  Some posts say that Celery reconfigures the root logger if $CELERYD_HIJACK_ROOT_LOGGER is not False but in my own short test it seems to work fine:

```
>>> from pyfarm.core.logger import getLogger
>>> log = getLogger("foo")
>>> log.debug("foo")
2014-03-27 23:42:44 DEBUG    - pf.foo          - foo
>>> log.root.handlers
[<pyfarm.core.logger.StandardOutputStreamHandler object at 0x7f263b798f50>]
>>> from celery.utils.log import get_task_logger
>>> task_logger = get_task_logger("foo2")
>>> task_logger.debug("foo2")
2014-03-27 23:43:27 DEBUG    - foo2            - foo2
>>> log.debug("foo2")
2014-03-27 23:43:35 DEBUG    - pf.foo          - foo2
>>> log.root.handlers
>>> task_logger.root.handlers
[<pyfarm.core.logger.StandardOutputStreamHandler object at 0x7f263b798f50>]
```

The default level for any newly created logger that is not the root is 0 (logging.NOTSET) which implies that the log record should propagate up to the parent logger(s) and be filtered from there.  Looking at the code you have and my example above I can't say for sure exactly what the issue is yet.  After looking at get_task_logger's source code though it does appear to change the parent of the logger which could have some unintended impact on the log message propagation.  When you set yours to logging.DEBUG do you see the messages being formatted using PyFarm's formatting?  Also on a side note you probably want to do "get_task_logger('pf.scheduler.tasks')" so it's the same root logger as PyFarm, this might fix the issue you're having but at the very least would fix a small issue with the existing setup.  

So because of this odd issue I'm not going to object to the setLevel call you have for now. If you would please though put a TODO above it so we don't have to go looking for it that hard later on.
```