diff --git a/src/ocrmypdf/exec/__init__.py b/src/ocrmypdf/exec/__init__.py index 4912fe08..838697fc 100644 --- a/src/ocrmypdf/exec/__init__.py +++ b/src/ocrmypdf/exec/__init__.py @@ -77,12 +77,21 @@ def run(args, *, env=None, **kwargs): if new_args0: args[0] = new_args0 - log.debug(args) + process_log = log.getChild(os.path.basename(program)) + process_log.debug("Running: %s", args) if sys.version_info < (3, 7) and os.name == 'nt': # Can't use close_fds=True on Windows with Python 3.6 or older # https://bugs.python.org/issue19575, etc. kwargs['close_fds'] = False - return subprocess_run(args, env=env, **kwargs) + proc = subprocess_run(args, env=env, **kwargs) + if process_log.isEnabledFor(logging.DEBUG): + try: + stderr = proc.stderr.decode('utf-8', 'replace') + except AttributeError: + stderr = proc.stderr + if stderr: + process_log.debug("stderr = %s", stderr) + return proc def get_version(program, *, version_arg='--version', regex=r'(\d+(\.\d+)*)', env=None): diff --git a/src/ocrmypdf/exec/ghostscript.py b/src/ocrmypdf/exec/ghostscript.py index a72572f6..856bc0c1 100644 --- a/src/ocrmypdf/exec/ghostscript.py +++ b/src/ocrmypdf/exec/ghostscript.py @@ -311,7 +311,6 @@ def generate_pdfa( ] ) args_gs.extend(fspath(s) for s in pdf_pages) # Stringify Path objs - log.debug(args_gs) try: with Path(output_file).open('wb') as output: p = run(args_gs, stdout=output, stderr=PIPE, check=True) @@ -342,5 +341,3 @@ def generate_pdfa( "Ghostscript had to remove PDF 'overprinting' from the " "input file to complete PDF/A conversion. " ) - else: - log.debug(stderr) diff --git a/src/ocrmypdf/exec/tesseract.py b/src/ocrmypdf/exec/tesseract.py index 16edb7cb..6e020ad6 100644 --- a/src/ocrmypdf/exec/tesseract.py +++ b/src/ocrmypdf/exec/tesseract.py @@ -282,7 +282,6 @@ def generate_hocr( # to the number of order parameters here args_tesseract.extend([input_file, prefix, 'hocr', 'txt'] + tessconfig) try: - log.debug(args_tesseract) p = run( args_tesseract, stdout=PIPE, @@ -381,7 +380,6 @@ def generate_pdf( args_tesseract.extend([input_image, prefix, 'pdf', 'txt'] + tessconfig) try: - log.debug(args_tesseract) p = run( args_tesseract, stdout=PIPE,