Ошибка "name 'logger' is not defined" значит, что в d:\Programming\Python\C8\sqlite.py не определено не определено ни модулей, ни классов, ни функций, ни переменных с именем logger.
Современные архитектурные принципы отдают предпочтения фабричным методам. Правила хорошего тона требуют, чтобы конструктор не занимался ни чем, кроме инициализации полей. Фабричный метод же может делать очень много дополнительных операций, вроде интернирования. Фабричный метод может осуществлять операции на уровне экземпляров, например возвращать синглтон. Фабричный метод может возвращать не только экземпляр класса, но и его подтипы. Фабричные методы могут иметь говорящие имена. И т.д. и т.п.
Если действительно понимаете принципы, то легко переключитесь даже с AT&T-синтаксиса на Intel-синтаксис, не говоря уж о незначительных отличия между компиляторами.
Протокол HTTP предназначен для короткоживущих сеансов связи в режиме запрос-ответ. Обработчики запросов, особенно синхронные, не должны выполнять длительных действий и не должны удерживать соединение.