@@ -240,8 +240,16 @@ def _build_page(page, config, doc_files, nav, env, dirty=False):
240240
241241def build (config , live_server = False , dirty = False ):
242242 """ Perform a full site build. """
243- try :
244243
244+ logger = logging .getLogger ('mkdocs' )
245+
246+ # Add CountHandler for strict mode
247+ warning_counter = utils .CountHandler ()
248+ warning_counter .setLevel (logging .WARNING )
249+ if config ['strict' ]:
250+ logging .getLogger ('mkdocs' ).addHandler (warning_counter )
251+
252+ try :
245253 from time import time
246254 start = time ()
247255
@@ -308,8 +316,8 @@ def build(config, live_server=False, dirty=False):
308316 # Run `post_build` plugin events.
309317 config ['plugins' ].run_event ('post_build' , config = config )
310318
311- counts = utils . log_counter .get_counts ()
312- if config [ 'strict' ] and len ( counts ) :
319+ counts = warning_counter .get_counts ()
320+ if counts :
313321 msg = ', ' .join ([f'{ v } { k .lower ()} s' for k , v in counts ])
314322 raise Abort (f'\n Aborted with { msg } in strict mode!' )
315323
@@ -323,6 +331,9 @@ def build(config, live_server=False, dirty=False):
323331 raise Abort ('\n Aborted with a BuildError!' )
324332 raise
325333
334+ finally :
335+ logger .removeHandler (warning_counter )
336+
326337
327338def site_directory_contains_stale_files (site_directory ):
328339 """ Check if the site directory contains stale files from a previous build. """
0 commit comments