Skip to content

Commit c2fd2e0

Browse files
committed
slightly cleaner logger logic
1 parent a04d1ff commit c2fd2e0

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

pylops_mpi/utils/benchmark.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
# TODO (tharitt): later move to env file or something
1010
ENABLE_BENCHMARK = True
1111

12+
logger = logging.getLogger(__name__)
1213
logging.basicConfig(level=logging.INFO, force=True)
14+
logger.propagate = False
15+
1316
# Stack of active mark functions for nested support
1417
_mark_func_stack = []
1518
_markers = []
@@ -117,18 +120,23 @@ def local_mark(label):
117120
if not _mark_func_stack:
118121
if rank == 0:
119122
output = _parse_output_tree(_markers)
120-
logger = logging.getLogger()
121-
# remove the stdout
122-
for h in logger.handlers[:]:
123-
logger.removeHandler(h)
124-
handler = logging.FileHandler(file_path, mode='w') if save_file else logging.StreamHandler(sys.stdout)
123+
for handler in logger.handlers[:]:
124+
logger.removeHandler(handler)
125+
126+
if save_file:
127+
handler = logging.FileHandler(file_path, mode='w')
128+
else:
129+
handler = logging.StreamHandler(sys.stdout)
130+
125131
handler.setLevel(logging.INFO)
132+
handler.setFormatter(logging.Formatter("%(message)s"))
126133
logger.addHandler(handler)
134+
127135
logger.info("".join(output))
128-
logger.removeHandler(handler)
129-
if save_file:
130-
handler.close()
131136

137+
# Cleanup handler to avoid duplication on future calls
138+
logger.removeHandler(handler)
139+
handler.close()
132140
return result
133141
return wrapper
134142
if func is not None:

0 commit comments

Comments
 (0)