the line you refer towards involves a flag called "echo", which is described at https://docs.sqlalchemy.org/en/14/core/engines.html#more-on-the-echo-flag and is entirely optional. if you don't use the echo flag, SQLAlchemy's logging behavior is completely traditional, with the caveat that the Engine, Connection and Pool objects will check the level of loggers before opting to send out logging.info() and logging.debug() calls as there is some additional formatting expense for some of these calls.
I'm not familiar with what you mean by "IO emitted to the console streams breaks calling code", SQLAlchemy doesn't emit any IO that it isn't instructed to nor does it set up any handlers if you aren't using the "echo" flag. On Sun, Jun 13, 2021, at 1:14 PM, jca...@gmail.com <mailto:jca...%40gmail.com> wrote: > Hello everyone, > After reviewing the handler logic, I am not clear that it implements logging > within the pattern guidelines defined by the base logging implementation. > > In log.py#L103 > <https://github.com/sqlalchemy/sqlalchemy/blob/c2cad1f97c51c8a2a6ad5d371ece7bcd9c7ffcf9/lib/sqlalchemy/log.py#L103>, > the level and existence of at least one handler are checked. > > I only have a handler added to a root logger that I don't control, and we rely > on ancestral propagation. > > The concern I have is due to any IO emitted to the console streams breaks > the calling code that I don't control. With this pattern, I have to > preemptively > add null handlers to every logger, and if I miss one and it manifests in > production, > I'll have a problem. > > Anyone have any thoughts around this? > > Thanks, > jlc > > > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/80cade67-c6ed-41a7-a1a2-ba1fdb36b8aen%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/80cade67-c6ed-41a7-a1a2-ba1fdb36b8aen%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/2b71ae26-ce1c-454c-bf84-ddd022d490e3%40www.fastmail.com.