fix logging

This commit is contained in:
2021-09-21 00:35:12 +02:00
parent cd470e8947
commit f4f26f08fd

View File

@@ -26,6 +26,8 @@ from datetime import datetime
from glob import glob from glob import glob
from time import gmtime from time import gmtime
from pymodmilter.base import CustomLogger
class BaseMailStorage: class BaseMailStorage:
"Mail storage base class" "Mail storage base class"
@@ -279,17 +281,26 @@ class Quarantine:
def __init__(self, storage, notification=None, milter_action=None, def __init__(self, storage, notification=None, milter_action=None,
reject_reason="Message rejected"): reject_reason="Message rejected"):
self.storage = storage.action(**storage.args, metadata=True) self.storage = storage.action(**storage.args, metadata=True)
self.storage_name = storage.name
self.storage_logger = storage.logger
self.notification = notification self.notification = notification
if self.notification is not None: if self.notification is not None:
self.notification = notification.action(**notification.args) self.notification = notification.action(**notification.args)
self.notification_name = notification.name
self.notification_logger = notification.logger
self.milter_action = milter_action self.milter_action = milter_action
self.reject_reason = reject_reason self.reject_reason = reject_reason
def execute(self, milter, pretend=False, def execute(self, milter, pretend=False,
logger=logging.getLogger(__name__)): logger=logging.getLogger(__name__)):
self.storage.execute(milter, pretend, logger) custom_logger = CustomLogger(
self.storage_logger, {"name": self.storage_name})
self.storage.execute(milter, pretend, custom_logger)
if self.notification is not None: if self.notification is not None:
self.notification.execute(milter, pretend, logger) custom_logger = CustomLogger(
self.notification_logger, {"name": self.notification_name})
self.notification.execute(milter, pretend, custom_logger)
milter.msginfo["rcpts"] = [] milter.msginfo["rcpts"] = []
if self.milter_action is not None: if self.milter_action is not None: