Я пытаюсь получить журналы из библиотеки, которую использую (PyAPN). Это, конечно, не работает из коробки. Я просмотрел код библиотеки, чтобы увидеть, что они используют для регистратора, и они используют метод logging.getLogger().
Существующий код ведения журнала библиотеки PyAPN:
_logger=logging.getLogger(__name__)
Вот одна плохая идея, которую я пытался заставить работать, но мне не повезло:
Код моего приложения (пример плохой идеи):
from apns import APNs
class Notifier():
def __init__(self, logger):
self.logger = logger
self.apns_client = APNs(arg_list)
self.apns_client._logger = self.logger
def send_message:
...
self.apns_client.gateway_server.send_notification(token, payload, identfier=id)
...
это не сработало
Библиотека (send_message) вызывается из задачи celery. Все ведение журнала отлично работает в классе Notifier и задаче celery, просто ничего не поступает в мой регистратор из библиотеки PyAPNs.
Может ли кто-нибудь помочь мне понять, что здесь может происходить?
getLogger(their_module.__name__)
и настроить его соответствующим образом. Я предполагаю, что их регистратор не работает в отдельном процессе, а это совсем другая история. - person jwalker   schedule 09.12.2014