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.

Reply via email to