This all started because I wanted to see INFO messages for 'sqlalchemy.engine', to see what Alembic was doing when I was running a particular migration.
It turns out, all of Flask, SQLAlchemy, and Alembic were trying to set up logging configuration for us in various ways under various circumstances.
This PR gives us simple and consistent logging behaviour in all situations.
This all started because I wanted to see INFO messages for 'sqlalchemy.engine', to see what Alembic was doing when I was running a particular migration.
It turns out, all of Flask, SQLAlchemy, and Alembic were trying to set up logging configuration for us in various ways under various circumstances.
This PR gives us simple and consistent logging behaviour in all situations.