Compare commits
2 Commits
36c0bcdc03
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b20bfd2e36 | ||
|
|
c3534868ad |
@@ -194,13 +194,11 @@ class ForensicLogger:
|
||||
self.logger.info(f"Scan Started - Target: {target_domain}, Depth: {recursion_depth}")
|
||||
self.logger.info(f"Enabled Providers: {', '.join(enabled_providers)}")
|
||||
|
||||
self.session_metadata['target_domains'].update(target_domain)
|
||||
self.session_metadata['target_domains'].add(target_domain)
|
||||
|
||||
def log_scan_complete(self) -> None:
|
||||
"""Log the completion of a reconnaissance scan."""
|
||||
self.session_metadata['end_time'] = datetime.now(timezone.utc).isoformat()
|
||||
self.session_metadata['providers_used'] = list(self.session_metadata['providers_used'])
|
||||
self.session_metadata['target_domains'] = list(self.session_metadata['target_domains'])
|
||||
|
||||
self.logger.info(f"Scan Complete - Session: {self.session_id}")
|
||||
|
||||
@@ -211,8 +209,12 @@ class ForensicLogger:
|
||||
Returns:
|
||||
Dictionary containing complete session audit trail
|
||||
"""
|
||||
session_metadata_export = self.session_metadata.copy()
|
||||
session_metadata_export['providers_used'] = list(session_metadata_export['providers_used'])
|
||||
session_metadata_export['target_domains'] = list(session_metadata_export['target_domains'])
|
||||
|
||||
return {
|
||||
'session_metadata': self.session_metadata.copy(),
|
||||
'session_metadata': session_metadata_export,
|
||||
'api_requests': [asdict(req) for req in self.api_requests],
|
||||
'relationships': [asdict(rel) for rel in self.relationships],
|
||||
'export_timestamp': datetime.now(timezone.utc).isoformat()
|
||||
|
||||
@@ -6,7 +6,7 @@ import threading
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Dict, Any, Optional
|
||||
|
||||
from core.logger import get_forensic_logger
|
||||
from core.logger import get_forensic_logger # Ensure this import is present
|
||||
from core.rate_limiter import GlobalRateLimiter
|
||||
from core.provider_result import ProviderResult
|
||||
|
||||
@@ -41,7 +41,6 @@ class BaseProvider(ABC):
|
||||
self.name = name
|
||||
self.timeout = actual_timeout
|
||||
self._local = threading.local()
|
||||
self.logger = get_forensic_logger()
|
||||
self._stop_event = None
|
||||
|
||||
# Statistics (per provider instance)
|
||||
@@ -76,6 +75,11 @@ class BaseProvider(ABC):
|
||||
})
|
||||
return self._local.session
|
||||
|
||||
@property
|
||||
def logger(self):
|
||||
"""Get the current forensic logger instance."""
|
||||
return get_forensic_logger()
|
||||
|
||||
@abstractmethod
|
||||
def get_name(self) -> str:
|
||||
"""Return the provider name."""
|
||||
|
||||
Reference in New Issue
Block a user