0

有没有办法停止或减少日志记录?

你可以

  • 将所有应用程序日志记录限制在某个级别(调试、信息、警告、...) - 这是广泛且不合适的
  • 将具体的连接记录器(即connexion.operations.abstract)限制在某个级别 - 这太窄了,连接有很多不同的记录器,这可能有利于连接本身的开发,但在其他方面很麻烦
    • 通过这种方式,我设法创建了许多connexion.*记录器的列表并将记录减少到一定数量(使用structlog.get_logger(logger_name).setLevel(logging.WARNING)),但是在 DEBUG 级别上仍然有一些巨大的日志以开头
      • Attaching x-scope to {
      • Ref #/components/
      • Dereferencing {

有没有办法摆脱这些日志?或者甚至更好地通过通配符选择记录器?即connexion.*

感谢您的回答。

迈克尔

PS:在 Connexion Github 上问了同样的问题:https ://github.com/zalando/connexion/issues/1417

4

1 回答 1

0

AFAIKconnexion不使用 structlog,因此在具体记录器上设置级别不会对您有多大好处。

您将不得不使用 stdlib 的全局配置。就像是:

[loggers]
keys = root, connexion, ...

[handlers]
keys = console

[formatters]
keys = generic

[handler_console]
class = StreamHandler
args = (sys.stdout,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(message)s

[logger_root]
level = INFO
handlers = console

[logger_connexion]
level = WARN
handlers =
qualname = connexion

然后您使用logging.config.fileConfig()

于 2021-08-27T09:20:50.577 回答