Uvicorn заводил свои обработчики с propagate=False, поэтому его строки шли
мимо нашего формата и рвались посреди слова. log_config=None отдаёт всё
общему обработчику.
Занятый порт сервис теперь замечает до запуска и объясняет, что делать,
вместо строки uvicorn про Errno 10048.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Windows-консоль не разбирала ANSI и печатала их как мусор, поэтому цвет
был выключен целиком. Теперь разбор включается через WinAPI, а при неудаче
цвет молча отключается. Длинные сообщения переносятся по словам с отступом
под текст. Вывод Caddy уведён в файл - он забивал консоль сертификатами.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>