Skip to content

Commit 04bc5a9

Browse files
author
OutlyingWest
committed
logging in files fixed, minor stream reading improvements
1 parent 372324f commit 04bc5a9

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

src/scorep_jupyter/kernel.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -674,28 +674,29 @@ def start_reading_scorep_process_streams(
674674
process_busy_spinner = create_busy_spinner(
675675
stdout_lock, spinner_stop_event, is_multicell_final
676676
)
677-
process_busy_spinner.start("Process is running...")
677+
t_stderr = threading.Thread(
678+
target=self.read_scorep_stderr,
679+
args=(proc.stderr, stdout_lock, spinner_stop_event),
680+
)
678681

679682
# Empty cell output, required for interactive output
680683
# e.g. tqdm for-loop progress bar
681684
self.cell_output("\0")
682685

683686
try:
684-
t_stderr = threading.Thread(
685-
target=self.read_scorep_stderr,
686-
args=(proc.stderr, stdout_lock, spinner_stop_event),
687-
)
687+
process_busy_spinner.start("Process is running...")
688688
t_stderr.start()
689689

690690
self.read_scorep_stdout(
691691
proc.stdout, stdout_lock, spinner_stop_event
692692
)
693693

694-
t_stderr.join()
695694
process_busy_spinner.stop("Done.")
696695

697696
except KeyboardInterrupt:
698697
process_busy_spinner.stop("Kernel interrupted.")
698+
finally:
699+
t_stderr.join()
699700

700701
def read_scorep_stdout(
701702
self,
@@ -727,7 +728,7 @@ def read_scorep_stderr(
727728
def process_stderr_line(line: str):
728729
if spinner_stop_event.is_set():
729730
self.cell_output(line)
730-
self.log.error(line)
731+
self.log.error(line.strip())
731732

732733
self.read_scorep_stream(
733734
stderr, lock, process_stderr_line, read_chunk_size
@@ -909,7 +910,7 @@ def log_error(self, code: KernelErrorCode, **kwargs):
909910
)
910911
message = template.format(mode=mode, marshaller=marshaller, **kwargs)
911912

912-
self.log.error(message)
913+
self.log.error(message.strip())
913914
self.cell_output("KernelError: " + message, "stderr")
914915

915916

src/scorep_jupyter/logging_config.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import logging
22
import os
33
import sys
4+
from pathlib import Path
45

56

6-
LOGGING_DIR = "logging"
7+
LOGGING_DIR = Path().cwd().parent / "logging"
78
os.makedirs(LOGGING_DIR, exist_ok=True)
89

910

@@ -17,7 +18,7 @@ def filter(self, record):
1718
return record.levelno < logging.ERROR
1819

1920

20-
class scorep_jupyterKernelOnlyFilter(logging.Filter):
21+
class ScorepJupyterKernelOnlyFilter(logging.Filter):
2122
def filter(self, record):
2223
return "scorep_jupyter" in record.pathname
2324

@@ -55,8 +56,8 @@ def filter(self, record):
5556
"class": "logging.StreamHandler",
5657
"stream": sys.stdout,
5758
"filters": [
58-
"ignore_error_filter", # prevents from writing to jupyter
59-
# cell output twice
59+
# prevents from writing to jupyter cell output twice
60+
"ignore_error_filter",
6061
"scorep_jupyter_kernel_only_filter",
6162
],
6263
},
@@ -65,7 +66,7 @@ def filter(self, record):
6566
"jupyter_filter": {"()": JupyterLogFilter},
6667
"ignore_error_filter": {"()": IgnoreErrorFilter},
6768
"scorep_jupyter_kernel_only_filter": {
68-
"()": scorep_jupyterKernelOnlyFilter
69+
"()": ScorepJupyterKernelOnlyFilter
6970
},
7071
},
7172
"root": {

0 commit comments

Comments
 (0)