mirror of
https://github.com/mkdocs/mkdocs.git
synced 2026-03-27 09:58:31 +07:00
Move logging DuplicateFilter to utils, enable it only in __main__
This commit is contained in:
@@ -46,6 +46,10 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
|
||||
|
||||
|
||||
def _enable_warnings():
|
||||
from mkdocs.commands import build
|
||||
|
||||
build.log.addFilter(utils.DuplicateFilter())
|
||||
|
||||
warnings.simplefilter('module', DeprecationWarning)
|
||||
warnings.showwarning = _showwarning
|
||||
|
||||
|
||||
@@ -17,22 +17,9 @@ from mkdocs.exceptions import Abort, BuildError
|
||||
from mkdocs.structure.files import File, Files, InclusionLevel, _set_exclusions, get_files
|
||||
from mkdocs.structure.nav import Navigation, get_navigation
|
||||
from mkdocs.structure.pages import Page
|
||||
|
||||
|
||||
class DuplicateFilter:
|
||||
"""Avoid logging duplicate messages."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.msgs: set[str] = set()
|
||||
|
||||
def __call__(self, record: logging.LogRecord) -> bool:
|
||||
rv = record.msg not in self.msgs
|
||||
self.msgs.add(record.msg)
|
||||
return rv
|
||||
|
||||
from mkdocs.utils import DuplicateFilter # noqa - legacy re-export
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
log.addFilter(DuplicateFilter())
|
||||
|
||||
|
||||
def get_context(
|
||||
|
||||
@@ -442,6 +442,18 @@ def nest_paths(paths):
|
||||
return nested
|
||||
|
||||
|
||||
class DuplicateFilter:
|
||||
"""Avoid logging duplicate messages."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.msgs: set[str] = set()
|
||||
|
||||
def __call__(self, record: logging.LogRecord) -> bool:
|
||||
rv = record.msg not in self.msgs
|
||||
self.msgs.add(record.msg)
|
||||
return rv
|
||||
|
||||
|
||||
class CountHandler(logging.NullHandler):
|
||||
"""Counts all logged messages >= level."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user