[email protected] wrote:
> From what I read in the SQLAlchemy logging configuration documentation, I
> understood that the echo argument on sqlalchemy.create_engine controls
> whether sqlalchemy logging is forced to stdout, but shouldn't affect whether
> log messages are available to log handlers.
>
> In the code below, I get no output to stdout OR db.log if echo=False and I
> get output to both stdout AND db.log if echo=True. I want nothing to stdout
> while db.log is still populated. How can I accomplish that?
Hmm well logging is looking at the effective level of the logger
itself, not the handler, so you’d need db_logger.setLevel(db_log_level). I
think the “level” that’s on the handler is an additional level of filtering.
The effective level of a logger you can see like this:
>>> import logging
>>> log = logging.getLogger("asdf")
>>> log.getEffectiveLevel()
30
which we can see is WARN:
>>> logging.WARN, logging.INFO, logging.DEBUG
(30, 20, 10)
the “echo=True” flag sets up this level if not set already.
>
> This is python 2.7.6 and sqlalchemy 0.9.9
>
> import
> sqlalchemy
>
> import
> logging
>
> active_db_url
> = 'postgres://user:pass@localhost/log_test'
>
>
> db_log_file_name
> = 'db.log'
>
> db_log_level
> = logging.
> INFO
>
> db_handler
> = logging.FileHandler(db_log_file_name)
>
> db_handler
> .setLevel(db_log_level)
>
>
> db_logger
> = logging.getLogger('sqlalchemy')
>
> db_logger
> .addHandler(db_handler)
>
>
> engine
> = sqlalchemy.create_engine(active_db_url, echo=True)
>
> engine
> .connect()
>
> Cross posted from
> http://stackoverflow.com/questions/29114627/how-to-output-sqlalchemy-logger-only-to-a-file
>
>
> Thanks in advance,
>
> Rob
>
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.