From 6289afa1a60c66074f0a91c77734f66e8f462235 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Mon, 8 Feb 2016 00:18:52 -0800 Subject: [PATCH] Better: custom logging factory to avoid whatever ruffus is doing --- ocrmypdf/main.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/ocrmypdf/main.py b/ocrmypdf/main.py index 62e301a4..cbdf83f6 100755 --- a/ocrmypdf/main.py +++ b/ocrmypdf/main.py @@ -23,6 +23,7 @@ from ruffus import transform, suffix, merge, active_if, regex, jobs_limit, \ formatter, follows, split, collate, check_if_uptodate import ruffus.ruffus_exceptions as ruffus_exceptions import ruffus.cmdline as cmdline +import ruffus.proxy_logger as proxy_logger from .hocrtransform import HocrTransform from .pageinfo import pdf_get_all_pageinfo @@ -260,20 +261,24 @@ if options.pdf_renderer == 'hocr': # Logging -# Let ruffus configure logging -_logger, _logger_mutex = cmdline.setup_logging(__name__, log_file_name=None, - verbose=True) +def logging_factory(logger_name, listargs): + log_file_name, verbose = listargs -# Hijack the root logger it configures -root_logger = logging.getLogger(__name__) + root_logger = logging.getLogger(logger_name) + root_logger.setLevel(logging.DEBUG) -# Find the stderr handler and ensure it produces sane output -for handler in root_logger.handlers: - if isinstance(handler, logging.StreamHandler): - formatter_ = logging.Formatter("%(message)s") - handler.setFormatter(formatter_) - if not options.verbose: - handler.setLevel(logging.WARNING) + handler = logging.StreamHandler(sys.stderr) + formatter_ = logging.Formatter("%(levelname)6s - %(message)s") + handler.setFormatter(formatter_) + if verbose: + handler.setLevel(logging.DEBUG) + else: + handler.setLevel(logging.WARNING) + root_logger.addHandler(handler) + return root_logger + +_logger, _logger_mutex = proxy_logger.make_shared_logger_and_proxy( + logging_factory, __name__, [None, options.verbose]) class WrappedLogger: