Я пишу фреймворк в python для реализации некоторых серверов. Они работают непрерывно, ждут заданий, и когда один или несколько обнаружены, они могут либо обработать его, запустить один или несколько потоков для его обработки, либо запустить подпроцесс для его обработки. Когда он ищет журнал заданий, данные должны входить в один файл, который будет вращаться ежедневно. Данные журнала для каждого задания войдут в отдельный файл журнала заданий с именем, основанным на идентификаторе задания.можно удалить детей из регистраторов python?
Это первый раз, когда я действительно пытался использовать протоколы python. Каков «правильный» способ сделать это? Одна мысль заключалась бы в том, чтобы добавить дочерний логгер для каждого задания, но, похоже, не существует способа удалить дочерние регистраторы (я думаю, что это не сложно сделать, удалив библиотечный код, но я предполагаю, что нет remove_child () по какой-либо причине).
Другим способом, я думаю, является создание обработчика для каждого задания и предоставление каждому из них фильтра, основанного на текущем потоке. Таким образом, все обработчики будут отфильтрованы, кроме одного в активном потоке, который будет записываться в файл журнала заданий. Таким образом было бы легко удалить обработчики, когда они закончат. Это, вероятно, сработает - я ожидаю, что не будет больше, чем около 10 потоков, активных одновременно для любого задания, поэтому запуск каждого фильтра не так уж и трудный. Это лучший способ? Или это еще что-то, о чем я не думал?