@@ -163,18 +163,15 @@ def _run_from_folder(cls, sorter_output_folder, params, verbose):
163163 cluster_spikes ,
164164 save_sorting ,
165165 get_run_parameters ,
166+ setup_logger ,
166167 )
167168 from kilosort .io import load_probe , RecordingExtractorAsArray , BinaryFiltered , save_preprocessing
168169 from kilosort .parameters import DEFAULT_SETTINGS
169170
170171 import time
171172 import torch
172173 import numpy as np
173-
174- if verbose :
175- import logging
176-
177- logging .basicConfig (level = logging .INFO )
174+ import logging
178175
179176 if version .parse (cls .get_sorter_version ()) < version .parse ("4.0.16" ):
180177 raise RuntimeError (
@@ -183,6 +180,37 @@ def _run_from_folder(cls, sorter_output_folder, params, verbose):
183180 "Please upgrade Kilosort version."
184181 )
185182
183+ # setup kilosort's console and file log handlers
184+ setup_logger_takes_verbose_console = version .parse (cls .get_sorter_version ()) > version .parse ("4.0.18" )
185+ logger_is_named = version .parse (cls .get_sorter_version ()) > version .parse ("4.0.20" )
186+
187+ if setup_logger_takes_verbose_console :
188+ # v4.0.19 and higher
189+ setup_logger (sorter_output_folder , verbose_console = False )
190+ else :
191+ # v4.0.16, v4.0.17, v4.0.18
192+ setup_logger (sorter_output_folder )
193+
194+ # if verbose is False, set the stream handler's log
195+ # level to logging.WARNING to preserve original
196+ # behavior prior to addition of setup_logger() above
197+ if not verbose :
198+ if logger_is_named :
199+ # v4.0.21 and above
200+ logger = logging .getLogger ("kilosort" )
201+ else :
202+ # v4.0.16, v4.0.17, v4.0.18, v4.0.19, v4.0.20
203+ logger = logging .getLogger ("" )
204+
205+ # find the stream handler
206+ stream_handler = None
207+ for handler in logger .handlers :
208+ if type (handler ) == logging .StreamHandler :
209+ stream_handler = handler
210+ break
211+
212+ stream_handler .setLevel (logging .WARNING )
213+
186214 sorter_output_folder = sorter_output_folder .absolute ()
187215
188216 probe_filename = sorter_output_folder / "chanMap.json"
0 commit comments