Skip to content

Commit 40b0f80

Browse files
authored
Use config.verbosity (#13650)
1 parent fa6f8c8 commit 40b0f80

File tree

6 files changed

+23
-22
lines changed

6 files changed

+23
-22
lines changed

sphinx/application.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def __init__(
239239
self._fail_on_warnings = bool(warningiserror)
240240
self.pdb = pdb
241241
self._exception_on_warning = exception_on_warning
242-
logging.setup(self, self._status, self._warning)
242+
logging.setup(self, self._status, self._warning, verbosity=verbosity)
243243

244244
self.events = EventManager(self)
245245

sphinx/builders/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ def cat2relpath(cat: CatalogInfo, srcdir: Path = self.srcdir) -> str:
269269
__('writing output... '),
270270
'darkgreen',
271271
len(catalogs),
272-
self._app.verbosity,
272+
self.config.verbosity,
273273
stringify_func=cat2relpath,
274274
):
275275
catalog.write_mo(
@@ -587,7 +587,7 @@ def _read_serial(self, docnames: list[str]) -> None:
587587
__('reading sources... '),
588588
'purple',
589589
len(docnames),
590-
self._app.verbosity,
590+
self.config.verbosity,
591591
):
592592
# remove all inventory entries for that file
593593
self.events.emit('env-purge-doc', self.env, docname)
@@ -604,7 +604,7 @@ def _read_parallel(self, docnames: list[str], nproc: int) -> None:
604604
__('reading sources... '),
605605
'purple',
606606
len(chunks),
607-
self._app.verbosity,
607+
self.config.verbosity,
608608
)
609609

610610
# clear all outdated docs at once
@@ -776,7 +776,7 @@ def _write_serial(self, docnames: Sequence[str]) -> None:
776776
__('writing output... '),
777777
'darkgreen',
778778
len(docnames),
779-
self._app.verbosity,
779+
self.config.verbosity,
780780
):
781781
_write_docname(docname, env=self.env, builder=self, tags=self.tags)
782782

@@ -800,7 +800,7 @@ def write_process(docs: list[tuple[str, nodes.document]]) -> None:
800800
__('writing output... '),
801801
'darkgreen',
802802
len(chunks),
803-
self._app.verbosity,
803+
self.config.verbosity,
804804
)
805805

806806
def on_chunk_done(args: list[tuple[str, nodes.document]], result: None) -> None:

sphinx/environment/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,9 @@ def setup(self, app: Sphinx) -> None:
281281
# The old config is self.config, restored from the pickled environment.
282282
# The new config is app.config, always recreated from ``conf.py``
283283
self.config_status, self.config_status_extra = self._config_status(
284-
old_config=self.config, new_config=app.config, verbosity=app.verbosity
284+
old_config=self.config,
285+
new_config=app.config,
286+
verbosity=app.config.verbosity,
285287
)
286288
self.config = app.config
287289

sphinx/ext/viewcode.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def collect_pages(app: Sphinx) -> Iterator[tuple[str, dict[str, Any], str]]:
295295
__('highlighting module code... '),
296296
'blue',
297297
len(env._viewcode_modules),
298-
app.verbosity,
298+
app.config.verbosity,
299299
operator.itemgetter(0),
300300
):
301301
if not entry:

sphinx/util/logging.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -608,8 +608,12 @@ def write(self, data: str) -> None:
608608
self._app.messagelog.append(data)
609609

610610

611-
def setup(app: Sphinx, status: IO[str], warning: IO[str]) -> None:
611+
def setup(
612+
app: Sphinx, status: IO[str], warning: IO[str], *, verbosity: int = 0
613+
) -> None:
612614
"""Setup root logger for Sphinx"""
615+
log_level = VERBOSITY_MAP[max(verbosity, 0)]
616+
613617
logger = logging.getLogger(NAMESPACE)
614618
logger.setLevel(logging.DEBUG)
615619
logger.propagate = False
@@ -621,7 +625,7 @@ def setup(app: Sphinx, status: IO[str], warning: IO[str]) -> None:
621625
info_handler = NewLineStreamHandler(SafeEncodingWriter(status))
622626
info_handler.addFilter(InfoFilter())
623627
info_handler.addFilter(InfoLogRecordTranslator(app))
624-
info_handler.setLevel(VERBOSITY_MAP[app.verbosity])
628+
info_handler.setLevel(log_level)
625629
info_handler.setFormatter(ColorizeFormatter())
626630

627631
warning_handler = WarningStreamHandler(SafeEncodingWriter(warning))
@@ -635,7 +639,7 @@ def setup(app: Sphinx, status: IO[str], warning: IO[str]) -> None:
635639

636640
messagelog_handler = logging.StreamHandler(LastMessagesWriter(app, status))
637641
messagelog_handler.addFilter(InfoFilter())
638-
messagelog_handler.setLevel(VERBOSITY_MAP[app.verbosity])
642+
messagelog_handler.setLevel(log_level)
639643

640644
logger.addHandler(info_handler)
641645
logger.addHandler(warning_handler)

tests/test_util/test_util_logging.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626

2727
@pytest.mark.sphinx('html', testroot='root')
2828
def test_info_and_warning(app: SphinxTestApp) -> None:
29-
app.verbosity = 2
30-
logging.setup(app, app.status, app.warning)
29+
logging.setup(app, app.status, app.warning, verbosity=2)
3130
logger = logging.getLogger(__name__)
3231

3332
logger.debug('message1')
@@ -61,8 +60,7 @@ def test_Exception(app: SphinxTestApp) -> None:
6160
@pytest.mark.sphinx('html', testroot='root')
6261
def test_verbosity_filter(app: SphinxTestApp) -> None:
6362
# verbosity = 0: INFO
64-
app.verbosity = 0
65-
logging.setup(app, app.status, app.warning)
63+
logging.setup(app, app.status, app.warning, verbosity=0)
6664
logger = logging.getLogger(__name__)
6765

6866
logger.info('message1')
@@ -75,8 +73,7 @@ def test_verbosity_filter(app: SphinxTestApp) -> None:
7573
assert 'message4' not in app.status.getvalue()
7674

7775
# verbosity = 1: VERBOSE
78-
app.verbosity = 1
79-
logging.setup(app, app.status, app.warning)
76+
logging.setup(app, app.status, app.warning, verbosity=1)
8077
logger = logging.getLogger(__name__)
8178

8279
logger.info('message1')
@@ -89,8 +86,7 @@ def test_verbosity_filter(app: SphinxTestApp) -> None:
8986
assert 'message4' not in app.status.getvalue()
9087

9188
# verbosity = 2: DEBUG
92-
app.verbosity = 2
93-
logging.setup(app, app.status, app.warning)
89+
logging.setup(app, app.status, app.warning, verbosity=2)
9490
logger = logging.getLogger(__name__)
9591

9692
logger.info('message1')
@@ -312,8 +308,7 @@ def test_log_no_ansi_colors(tmp_path):
312308

313309
@pytest.mark.sphinx('html', testroot='root')
314310
def test_colored_logs(app: SphinxTestApp) -> None:
315-
app.verbosity = 2
316-
logging.setup(app, app.status, app.warning)
311+
logging.setup(app, app.status, app.warning, verbosity=2)
317312
logger = logging.getLogger(__name__)
318313

319314
# default colors
@@ -363,7 +358,7 @@ class StreamWriter(codecs.StreamWriter):
363358
def write(self, object):
364359
self.stream.write(object.encode('cp1252').decode('cp1252'))
365360

366-
logging.setup(app, StreamWriter(app.status), app.warning)
361+
logging.setup(app, StreamWriter(app.status), app.warning, verbosity=0)
367362
logger = logging.getLogger(__name__)
368363

369364
# info with UnicodeEncodeError

0 commit comments

Comments
 (0)