Added overload to getLogger function. Added changelog entry

and added myself to codeowners file.
This commit is contained in:
Sebastian Mohr 2025-09-19 15:23:36 +02:00
parent 461bc049a0
commit f637e5efbb
3 changed files with 17 additions and 4 deletions

3
.github/CODEOWNERS vendored
View file

@ -1,2 +1,5 @@
# assign the entire repo to the maintainers team # assign the entire repo to the maintainers team
* @beetbox/maintainers * @beetbox/maintainers
# Specific ownerships:
/beets/metadata_plugins.py @semohr

View file

@ -35,9 +35,10 @@ from logging import (
Handler, Handler,
Logger, Logger,
NullHandler, NullHandler,
RootLogger,
StreamHandler, StreamHandler,
) )
from typing import TYPE_CHECKING, Any, Mapping, TypeVar from typing import TYPE_CHECKING, Any, Mapping, TypeVar, overload
from typing_extensions import ParamSpec from typing_extensions import ParamSpec
@ -173,9 +174,12 @@ my_manager = copy(Logger.manager)
my_manager.loggerClass = BeetsLogger my_manager.loggerClass = BeetsLogger
# Override the `getLogger` to use our machinery. @overload
def getLogger(name=None): # noqa def getLogger(name: str) -> BeetsLogger: ...
@overload
def getLogger(name: None = ...) -> RootLogger: ...
def getLogger(name=None) -> BeetsLogger | RootLogger: # noqa: N802
if name: if name:
return my_manager.getLogger(name) return my_manager.getLogger(name) # type: ignore[return-value]
else: else:
return Logger.root return Logger.root

View file

@ -51,6 +51,12 @@ Other changes:
- :class:`beets.metadata_plugin.MetadataSourcePlugin`: Remove discogs specific - :class:`beets.metadata_plugin.MetadataSourcePlugin`: Remove discogs specific
disambiguation stripping. disambiguation stripping.
For developers and plugin authors:
- Typing improvements in ``beets/logging.py``: ``getLogger`` now returns
``BeetsLogger`` when called with a name, or ``RootLogger`` when called without
a name.
2.4.0 (September 13, 2025) 2.4.0 (September 13, 2025)
-------------------------- --------------------------