Log a message to the 'werkzeug' logger. The logger is created the first time it is needed. If there is no level set, it is set to :data:`logging.INFO`. If there is no handler for the logger's effective level, a :class:`logging.StreamHandler` is added.
(type: str, message: str, *args: t.Any, **kwargs: t.Any)
| 76 | |
| 77 | |
| 78 | def _log(type: str, message: str, *args: t.Any, **kwargs: t.Any) -> None: |
| 79 | """Log a message to the 'werkzeug' logger. |
| 80 | |
| 81 | The logger is created the first time it is needed. If there is no |
| 82 | level set, it is set to :data:`logging.INFO`. If there is no handler |
| 83 | for the logger's effective level, a :class:`logging.StreamHandler` |
| 84 | is added. |
| 85 | """ |
| 86 | global _logger |
| 87 | |
| 88 | if _logger is None: |
| 89 | _logger = logging.getLogger("werkzeug") |
| 90 | |
| 91 | if _logger.level == logging.NOTSET: |
| 92 | _logger.setLevel(logging.INFO) |
| 93 | |
| 94 | if not _has_level_handler(_logger): |
| 95 | _logger.addHandler(_ColorStreamHandler()) |
| 96 | |
| 97 | getattr(_logger, type)(message.rstrip(), *args, **kwargs) |
| 98 | |
| 99 | |
| 100 | @t.overload |
no test coverage detected