kb
31.12.2012 10:09
Ставь лайк если тоже патчишь разные ништяки во время импорта.
С новым celery у меня во время тестов не работает nose.plugins.logcapture, то есть вместе с точечками весь logging плюётся.
И logging тоже те еще молодцы, такая у них чудесная АРХИТЕКТУРА @ ГИБКОСТЬ, хоть пиши свой / используй print.
Да макаки могут даже манкипатчинг дохайпать до гуд прэктисов, так что..
А вообще наверняка ты неправ, я не верю, что в питоне может быть такой ужас и столько нелогичного, а проверять мне не хочется, так что ТЫ СОСНУЛ
алсо чем логгинг-то не устраивает, покажи, интересно
import java.util.logging;
ты тупой
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 эта прелесть появилась.
не устраивает то, чем приходится заниматься, когда "оно не работает". то есть, лезть в его недры, в рантайме выискивать зарегистрированные хендлеры, логгеры и прочую лабуду.
с неё, кстати, и содрали API. даже кемелкейс.
говно какое-то
что за хуй рядом с комаром?
http://proofit404.livejournal.com/