diff --git a/ogstools/logparser/log_parser.py b/ogstools/logparser/log_parser.py
index f0f1e18f2ecf3d975a70ccf20f37779751a5648c..64db56bb058ca6161ce01c51a0e0efd8c1880a54 100644
--- a/ogstools/logparser/log_parser.py
+++ b/ogstools/logparser/log_parser.py
@@ -80,7 +80,7 @@ def parse_file(
     file_name: Union[str, Path],
     maximum_lines: Optional[int] = None,
     force_parallel: bool = False,
-    ogs_res: Callable = ogs_regexes,
+    ogs_res: Optional[list] = None,
 ) -> list[Any]:
     """
     Parses a log file from OGS, applying regex patterns to extract specific information,
@@ -109,11 +109,14 @@ def parse_file(
         process_regex = ""
         try_match = _try_match_serial_line
 
-    def compile_re_fn(mpi_process_regex):
+    def compile_re_fn(mpi_process_regex: str) -> Callable[[str], re.Pattern]:
         return lambda regex: re.compile(mpi_process_regex + regex)
 
     compile_re = compile_re_fn(process_regex)
-    patterns = [(compile_re(k), v) for k, v in ogs_res()]
+
+    if ogs_res is None:
+        ogs_res = ogs_regexes()
+    patterns = [(compile_re(k), v) for k, v in ogs_res]
 
     number_of_lines_read = 0
     with file_name.open() as file: