Я пытаюсь запустить простой скрипт Python, который записывает данные из подпроцесса в мой файл журнала, используя мой регистратор классов.
Сейчас у меня есть следующее, что делает работает:
Я пытаюсь запустить простой скрипт Python, который записывает данные из подпроцесса в мой файл журнала, используя мой регистратор классов. Сейчас у меня есть следующее, что делает работает: [code]import logging from logging.handlers import QueueHandler from itertools import repeat
from multiprocessing import Process, Pool, Queue, cpu_count from multiprocessing.managers import BaseManager, NamespaceProxy
class SharedObj: def __init__(self): self.attr1 = 0
class SharedProxy(NamespaceProxy): _exposed_ = ("__getattribute__", "__setattr__", "__delattr__")
class QueueManager(BaseManager): BaseManager.register("Queue", Queue) BaseManager.register("SharedObj", SharedObj, SharedProxy)
class Main: def __init__(self): self.logger = logging.getLogger(__name__)
def _loggingSubprocess(self, queue): self.logger.addHandler(QueueHandler(queue)) while True: try: logData = queue.get() if logData is None: break except EOFError: break self.logger.handle(logData)
Main().run() [/code] но если я перенесу вызов setupLogger() внутрь пространства имен __main__, он больше не будет работать правильно. [code]if __name__ == "__main__": setupLogger() Main().run() [/code] Почему вызов setupLogger не может произойти внутри __main__?
Как я могу установить уровень ведения журнала для библиотеки elasticsearch, отличный от моего собственного? Чтобы проиллюстрировать проблему, я описываю сценарий модуля. У меня есть модуль Lookup.py, который использует elasticsearch следующим...
Мне хотелось бы иметь TRACE (5) уровня журнала для моего приложения, так как я не думаю, что debug() достаточно. Кроме того, log(5, msg) — это не то, что мне нужно. Как добавить собственный уровень журнала в средство ведения журнала Python?
У меня...
Я управляю сторонним приложением, созданным с помощью платформы Python Karrigell.
Я добавил новый регистратор my_logger, который объявляется и создается в файле с именем my_logging.py
Я вижу, что регистратор может правильно заполнять файл журнала...
Я управляю сторонним приложением, созданным с помощью платформы Python Karrigell.
Я добавил новый регистратор my_logger, который объявляется и создается в файле с именем my_logging.py
Я вижу, что регистратор может правильно заполнять файл журнала...
У меня есть следующий блок кода. cmdTable — это словарь, где ключи — это строки, описывающие открываемый подпроцесс (например, «out_From_hi_mom»), а значения — это исполняемая команда (например, «echo hi Mom»)… что-то вроде: cmdTable : эхо, привет,...