kb 31.12.2012 10:09

Ставь лайк если тоже патчишь разные ништяки во время импорта.

С новым celery у меня во время тестов не работает nose.plugins.logcapture, то есть вместе с точечками весь logging плюётся.

И logging тоже те еще молодцы, такая у них чудесная АРХИТЕКТУРА @ ГИБКОСТЬ, хоть пиши свой / используй print.

1. 238328 31.12.2012 10:13

Да макаки могут даже манкипатчинг дохайпать до гуд прэктисов, так что..
А вообще наверняка ты неправ, я не верю, что в питоне может быть такой ужас и столько нелогичного, а проверять мне не хочется, так что ТЫ СОСНУЛ

2. 238328 31.12.2012 10:14

алсо чем логгинг-то не устраивает, покажи, интересно

3. hirthwork 31.12.2012 10:14 talkonaut-iphone_5.91_67b1c873

import java.util.logging;

4. 238328hirthwork /3 31.12.2012 10:16

ты тупой

5. kb238328 /1 31.12.2012 10:21

celery.utils.log

def _patch_logger_class():
"""Make sure loggers don't log while in a signal handler."""

logging._acquireLock()
try:
OldLoggerClass = logging.getLoggerClass()
if not getattr(OldLoggerClass, '_signal_safe', False):

class SigSafeLogger(OldLoggerClass):
_signal_safe = True

def log(self, *args, **kwargs):
if in_sighandler:
sys.__stderr__.write('CANNOT LOG IN SIGHANDLER')
return
return OldLoggerClass.log(self, *args, **kwargs)
logging.setLoggerClass(SigSafeLogger)
finally:
logging._releaseLock()
_patch_logger_class()

после обновления celery эта прелесть появилась.

6. komar 31.12.2012 10:22 thinkpad

7. kb238328 /2 31.12.2012 10:25

не устраивает то, чем приходится заниматься, когда "оно не работает". то есть, лезть в его недры, в рантайме выискивать зарегистрированные хендлеры, логгеры и прочую лабуду.

8. kbhirthwork /3 31.12.2012 10:26

с неё, кстати, и содрали API. даже кемелкейс.

9. 238328kb /7 31.12.2012 10:37

говно какое-то

10. hirthworkkomar /6 31.12.2012 10:44 mcabber

что за хуй рядом с комаром?

Do you really want to delete ?