반응형
sqlalchemy 를 사용하면서 sql 문을 log 로 남기는 방법
1. create_engine() 의 전달인자 중에서 echo 값을 True 로 설정
2. nova/db/sqlalchemy/session.py 66 라인에 값을 변경
3. nova/db/sqlalchemy/models.py 878 라인의 값을 변경
4. nova/db/sqlalchemy/api.py 의 43 라인 변경
5. nova.conf 값에 추가하여 처리할 수도 있음
1. create_engine() 의 전달인자 중에서 echo 값을 True 로 설정
2. nova/db/sqlalchemy/session.py 66 라인에 값을 변경
engine_args = {
"pool_recycle": FLAGS.sql_idle_timeout,
"echo": True,
}
3. nova/db/sqlalchemy/models.py 878 라인의 값을 변경
engine = create_engine(FLAGS.sql_connection, echo=True)
4. nova/db/sqlalchemy/api.py 의 43 라인 변경
LOG = logging.getLogger("sqlalchemy.engine")
LOG.setLevel(logging.INFO)
5. nova.conf 값에 추가하여 처리할 수도 있음
# /etc/nova/nova.conf
--sql_echo=True
# nova/db/sqlalchemy/session.py
flags.DEFINE_bool('sql_echo', False, 'show sql log output')
# nova/db/sqlalchemy/session.py
engine_args = {
"pool_recycle": FLAGS.sql_idle_timeout,
"echo": FLAGS.sql_echo,
}
# nova/db/sqlalchemy/models.py
engine = create_engine(FLAGS.sql_connection, echo= FLAGS.sql_echo)
반응형