File tree Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change 99 run_test :
1010
1111 runs-on :
12- - self-hosted
13- - deployer
12+ - gcp
1413
1514 steps :
1615
Original file line number Diff line number Diff line change 4747 os .environ ["ADB_LOG_FILE" ]) == 0 else os .environ ["ADB_LOG_FILE" ]
4848
4949if error_file_name is not None :
50+ # detachable file handler allows program to run from working directory
51+ # without write access; adb is a use case for this.
52+ class DetachableFileHandler (logging .FileHandler ):
53+ def __init__ (self , file_path , delay = False ):
54+ super ().__init__ (file_path , delay = delay )
55+
56+ def emit (self , record ):
57+ try :
58+ super ().emit (record )
59+ except PermissionError as pErr :
60+ for h in logger .handlers [:]:
61+ if h == self :
62+ logger .removeHandler (h )
63+ break
64+ logging .warning (
65+ f"Unable to write to { self .baseFilename } , removing file logging" )
66+
5067 error_file_tmpl = Template (error_file_name )
5168 template_items = {
5269 # python isodate has ':', not valid in files in windows.
5370 "now" : str (datetime .datetime .now ().isoformat ()).replace (':' , '' ),
5471 "node" : str (platform .node ())
5572 }
56- error_file_handler = logging . FileHandler (error_file_tmpl .safe_substitute (
73+ error_file_handler = DetachableFileHandler (error_file_tmpl .safe_substitute (
5774 ** template_items ), delay = True )
5875 error_file_handler .setFormatter (formatter )
5976 error_file_handler .setLevel (log_file_level )
You can’t perform that action at this time.
0 commit comments