mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	updated logging, logging for the mail consumer to see whats happening
This commit is contained in:
		| @@ -12,6 +12,7 @@ from django.utils import timezone | ||||
| from paperless.db import GnuPG | ||||
| from .classifier import DocumentClassifier, IncompatibleClassifierVersionError | ||||
| from .file_handling import generate_filename, create_source_path_directory | ||||
| from .loggers import LoggingMixin | ||||
| from .models import Document, FileInfo, Correspondent, DocumentType, Tag | ||||
| from .parsers import ParseError, get_parser_class | ||||
| from .signals import ( | ||||
| @@ -24,12 +25,10 @@ class ConsumerError(Exception): | ||||
|     pass | ||||
|  | ||||
|  | ||||
| class Consumer: | ||||
| class Consumer(LoggingMixin): | ||||
|  | ||||
|     def __init__(self): | ||||
|  | ||||
|         self.logger = logging.getLogger(__name__) | ||||
|         self.logging_group = None | ||||
|         super().__init__() | ||||
|         self.path = None | ||||
|         self.filename = None | ||||
|         self.override_title = None | ||||
| @@ -74,11 +73,6 @@ class Consumer: | ||||
|         os.makedirs(settings.THUMBNAIL_DIR, exist_ok=True) | ||||
|         os.makedirs(settings.ORIGINALS_DIR, exist_ok=True) | ||||
|  | ||||
|     def log(self, level, message): | ||||
|         getattr(self.logger, level)(message, extra={ | ||||
|             "group": self.logging_group | ||||
|         }) | ||||
|  | ||||
|     def try_consume_file(self, | ||||
|                          path, | ||||
|                          override_filename=None, | ||||
| @@ -100,7 +94,7 @@ class Consumer: | ||||
|         # this is for grouping logging entries for this particular file | ||||
|         # together. | ||||
|  | ||||
|         self.logging_group = uuid.uuid4() | ||||
|         self.renew_logging_group() | ||||
|  | ||||
|         # Make sure that preconditions for consuming the file are met. | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| import logging | ||||
| import uuid | ||||
|  | ||||
|  | ||||
| class PaperlessHandler(logging.Handler): | ||||
| @@ -13,3 +14,19 @@ class PaperlessHandler(logging.Handler): | ||||
|             kwargs["group"] = record.group | ||||
|  | ||||
|         Log.objects.create(**kwargs) | ||||
|  | ||||
|  | ||||
| class LoggingMixin: | ||||
|  | ||||
|     logging_group = None | ||||
|  | ||||
|     def renew_logging_group(self): | ||||
|         self.logging_group = uuid.uuid4() | ||||
|  | ||||
|     def log(self, level, message): | ||||
|         target = ".".join([self.__class__.__module__, self.__class__.__name__]) | ||||
|         logger = logging.getLogger(target) | ||||
|  | ||||
|         getattr(logger, level)(message, extra={ | ||||
|             "group": self.logging_group | ||||
|         }) | ||||
|   | ||||
| @@ -20,6 +20,7 @@ from django.utils import timezone | ||||
| # - XX. MONTH ZZZZ with XX being 1 or 2 and ZZZZ being 2 or 4 digits | ||||
| # - MONTH ZZZZ, with ZZZZ being 4 digits | ||||
| # - MONTH XX, ZZZZ with XX being 1 or 2 and ZZZZ being 4 digits | ||||
| from documents.loggers import LoggingMixin | ||||
| from documents.signals import document_consumer_declaration | ||||
|  | ||||
| # TODO: isnt there a date parsing library for this? | ||||
| @@ -101,17 +102,17 @@ class ParseError(Exception): | ||||
|     pass | ||||
|  | ||||
|  | ||||
| class DocumentParser: | ||||
| class DocumentParser(LoggingMixin): | ||||
|     """ | ||||
|     Subclass this to make your own parser.  Have a look at | ||||
|     `paperless_tesseract.parsers` for inspiration. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, path, logging_group): | ||||
|         super().__init__() | ||||
|         self.logging_group = logging_group | ||||
|         self.document_path = path | ||||
|         self.tempdir = tempfile.mkdtemp(prefix="paperless-", dir=settings.SCRATCH_DIR) | ||||
|         self.logger = logging.getLogger(__name__) | ||||
|         self.logging_group = logging_group | ||||
|  | ||||
|     def get_thumbnail(self): | ||||
|         """ | ||||
| @@ -222,11 +223,6 @@ class DocumentParser: | ||||
|  | ||||
|         return date | ||||
|  | ||||
|     def log(self, level, message): | ||||
|         getattr(self.logger, level)(message, extra={ | ||||
|             "group": self.logging_group | ||||
|         }) | ||||
|  | ||||
|     def cleanup(self): | ||||
|         self.log("debug", "Deleting directory {}".format(self.tempdir)) | ||||
|         shutil.rmtree(self.tempdir) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jonas Winkler
					Jonas Winkler