Refactor logging record thread local storage
This commit is contained in:
@@ -5,7 +5,6 @@ import json
|
||||
import logging
|
||||
import logging.handlers
|
||||
import os
|
||||
import threading
|
||||
from collections.abc import Sequence
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
@@ -48,21 +47,17 @@ from ocrmypdf.pdfa import file_claims_pdfa
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
tls = threading.local()
|
||||
tls.pageno = None
|
||||
|
||||
def set_logging_tls(tls):
|
||||
old_factory = logging.getLogRecordFactory()
|
||||
|
||||
old_factory = logging.getLogRecordFactory()
|
||||
def wrapper(*args, **kwargs):
|
||||
record = old_factory(*args, **kwargs)
|
||||
if hasattr(tls, 'pageno'):
|
||||
record.pageno = tls.pageno
|
||||
return record
|
||||
|
||||
|
||||
def record_factory(*args, **kwargs):
|
||||
record = old_factory(*args, **kwargs)
|
||||
if hasattr(tls, 'pageno'):
|
||||
record.pageno = tls.pageno
|
||||
return record
|
||||
|
||||
|
||||
logging.setLogRecordFactory(record_factory)
|
||||
logging.setLogRecordFactory(wrapper)
|
||||
|
||||
|
||||
class PageResult(NamedTuple):
|
||||
|
||||
@@ -30,6 +30,7 @@ from ocrmypdf._pipelines.common import (
|
||||
HOCRResult,
|
||||
post_process,
|
||||
report_output_pdf,
|
||||
set_logging_tls,
|
||||
setup_pipeline,
|
||||
worker_init,
|
||||
)
|
||||
@@ -37,21 +38,11 @@ from ocrmypdf._plugin_manager import OcrmypdfPluginManager
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
tls = threading.local()
|
||||
tls.pageno = None
|
||||
|
||||
|
||||
old_factory = logging.getLogRecordFactory()
|
||||
|
||||
|
||||
def record_factory(*args, **kwargs):
|
||||
record = old_factory(*args, **kwargs)
|
||||
if hasattr(tls, 'pageno'):
|
||||
record.pageno = tls.pageno
|
||||
return record
|
||||
|
||||
|
||||
logging.setLogRecordFactory(record_factory)
|
||||
set_logging_tls(tls)
|
||||
|
||||
|
||||
def exec_hocrtransform_sync(page_context: PageContext) -> HOCRResult:
|
||||
|
||||
@@ -27,6 +27,7 @@ from ocrmypdf._pipeline import (
|
||||
from ocrmypdf._pipelines.common import (
|
||||
HOCRResult,
|
||||
process_page,
|
||||
set_logging_tls,
|
||||
setup_pipeline,
|
||||
worker_init,
|
||||
)
|
||||
@@ -37,22 +38,10 @@ from ocrmypdf._validation import (
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
tls = threading.local()
|
||||
tls.pageno = None
|
||||
|
||||
|
||||
old_factory = logging.getLogRecordFactory()
|
||||
|
||||
|
||||
def record_factory(*args, **kwargs):
|
||||
record = old_factory(*args, **kwargs)
|
||||
if hasattr(tls, 'pageno'):
|
||||
record.pageno = tls.pageno
|
||||
return record
|
||||
|
||||
|
||||
logging.setLogRecordFactory(record_factory)
|
||||
set_logging_tls(tls)
|
||||
|
||||
|
||||
def exec_page_hocr_sync(page_context: PageContext) -> HOCRResult:
|
||||
|
||||
@@ -40,6 +40,7 @@ from ocrmypdf._pipelines.common import (
|
||||
post_process,
|
||||
process_page,
|
||||
report_output_pdf,
|
||||
set_logging_tls,
|
||||
setup_pipeline,
|
||||
worker_init,
|
||||
)
|
||||
@@ -59,18 +60,7 @@ log = logging.getLogger(__name__)
|
||||
tls = threading.local()
|
||||
tls.pageno = None
|
||||
|
||||
|
||||
old_factory = logging.getLogRecordFactory()
|
||||
|
||||
|
||||
def record_factory(*args, **kwargs):
|
||||
record = old_factory(*args, **kwargs)
|
||||
if hasattr(tls, 'pageno'):
|
||||
record.pageno = tls.pageno
|
||||
return record
|
||||
|
||||
|
||||
logging.setLogRecordFactory(record_factory)
|
||||
set_logging_tls(tls)
|
||||
|
||||
|
||||
def _image_to_ocr_text(
|
||||
|
||||
Reference in New Issue
Block a user