Browse Source

Add root_logger setting to Client.run

This allows people one way to use the colour logger globally
pull/8351/head
Rapptz 3 years ago
parent
commit
7be0779b65
  1. 14
      discord/client.py

14
discord/client.py

@ -810,6 +810,7 @@ class Client:
log_handler: Optional[logging.Handler] = MISSING, log_handler: Optional[logging.Handler] = MISSING,
log_formatter: logging.Formatter = MISSING, log_formatter: logging.Formatter = MISSING,
log_level: int = MISSING, log_level: int = MISSING,
root_logger: bool = False,
) -> None: ) -> None:
"""A blocking call that abstracts away the event loop """A blocking call that abstracts away the event loop
initialisation from you. initialisation from you.
@ -861,6 +862,14 @@ class Client:
only controls the library's log level. To control the root logger's level, only controls the library's log level. To control the root logger's level,
you can use ``logging.getLogger().setLevel(level)``. you can use ``logging.getLogger().setLevel(level)``.
.. versionadded:: 2.0
root_logger: :class:`bool`
Whether to set up the root logger rather than the library logger.
By default, only the library logger (``'discord'``) is set up. If this
is set to ``True`` then the root logger is set up as well.
Defaults to ``False``.
.. versionadded:: 2.0 .. versionadded:: 2.0
""" """
@ -890,6 +899,11 @@ class Client:
logger.setLevel(log_level) logger.setLevel(log_level)
logger.addHandler(log_handler) logger.addHandler(log_handler)
if root_logger:
logger = logging.getLogger()
logger.setLevel(log_level)
logger.addHandler(log_handler)
try: try:
asyncio.run(runner()) asyncio.run(runner())
except KeyboardInterrupt: except KeyboardInterrupt:

Loading…
Cancel
Save