Skip to content

Commit 636c969

Browse files
committed
🐛 fix(sqla): print log twice when SQLALCHEMY_ECHO=true
1 parent f53e802 commit 636c969

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

nonebot_plugin_orm/__init__.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@ def _create_engine(engine: str | URL | dict[str, Any] | AsyncEngine) -> AsyncEng
142142

143143
options = plugin_config.sqlalchemy_engine_options.copy()
144144

145-
if plugin_config.sqlalchemy_echo:
146-
options["echo"] = options["echo_pool"] = True
147-
148145
if isinstance(engine, dict):
149146
url: str | URL = engine.pop("url")
150147
options.update(engine)
@@ -203,6 +200,10 @@ def _init_table():
203200

204201

205202
def _init_logger():
203+
handler = LoguruHandler()
204+
logging.getLogger("alembic").addHandler(handler)
205+
logging.getLogger("sqlalchemy").addHandler(handler)
206+
206207
log_level = _driver.config.log_level
207208
if isinstance(log_level, str):
208209
log_level = logger.level(log_level).no
@@ -218,11 +219,8 @@ def _init_logger():
218219
},
219220
}
220221

221-
handler = LoguruHandler()
222222
for name, level in levels.items():
223-
l = logging.getLogger(name)
224-
l.addHandler(handler)
225-
l.setLevel(level)
223+
logging.getLogger(name).setLevel(level)
226224

227225

228226
_init_logger()

0 commit comments

Comments
 (0)