File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change 11import datetime
22import logging
3+ import sys
34from pathlib import Path
45from typing import Optional , Union
56
@@ -64,3 +65,21 @@ def configure(cfg: Config):
6465
6566
6667configure (CONFIG )
68+
69+
70+ def verbose (make_verbose : bool , level : int = logging .INFO ) -> None :
71+ """Add a StreamHandler to the pylabrobot logger to make logging output visible to the console.
72+ If set to False, remove the console StreamHandler. This only removes StreamHandlers that output
73+ to sys.stdout or sys.stderr, and will not affect FileHandlers or other subclasses.
74+ """
75+ logger = logging .getLogger ("pylabrobot" )
76+ for handler in logger .handlers [:]: # iterate over a copy to allow safe removal
77+ if isinstance (handler , logging .StreamHandler ) and not isinstance (handler , logging .FileHandler ):
78+ if handler .stream in (sys .stdout , sys .stderr ):
79+ logger .removeHandler (handler )
80+ if make_verbose :
81+ logger .setLevel (level )
82+ handler = logging .StreamHandler ()
83+ handler .setLevel (level )
84+ handler .setFormatter (logging .Formatter ("%(asctime)s - %(name)s - %(levelname)s - %(message)s" ))
85+ logger .addHandler (handler )
You can’t perform that action at this time.
0 commit comments