forked from p15670423/monkey
Island: Simplify logic in get_log_file_path()
This commit is contained in:
parent
acade35fbe
commit
1d11dd227e
|
@ -2,7 +2,6 @@ import logging
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
ISLAND_LOG_FILENAME = "monkey_island.log"
|
ISLAND_LOG_FILENAME = "monkey_island.log"
|
||||||
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(filename)s:%(lineno)s - %(funcName)s() - %(message)s"
|
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(filename)s:%(lineno)s - %(funcName)s() - %(message)s"
|
||||||
|
@ -24,12 +23,16 @@ def setup_logging(data_dir: Path, log_level: str):
|
||||||
|
|
||||||
formatter = _get_log_formatter()
|
formatter = _get_log_formatter()
|
||||||
|
|
||||||
log_file_path = data_dir / ISLAND_LOG_FILENAME
|
log_file_path = get_log_file_path(data_dir)
|
||||||
_add_file_handler(logger, formatter, log_file_path)
|
_add_file_handler(logger, formatter, log_file_path)
|
||||||
|
|
||||||
_add_console_handler(logger, formatter)
|
_add_console_handler(logger, formatter)
|
||||||
|
|
||||||
|
|
||||||
|
def get_log_file_path(data_dir: Path) -> Path:
|
||||||
|
return data_dir / ISLAND_LOG_FILENAME
|
||||||
|
|
||||||
|
|
||||||
def setup_default_failsafe_logging():
|
def setup_default_failsafe_logging():
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
|
@ -64,24 +67,3 @@ def reset_logger():
|
||||||
|
|
||||||
for handler in logger.handlers:
|
for handler in logger.handlers:
|
||||||
logger.removeHandler(handler)
|
logger.removeHandler(handler)
|
||||||
|
|
||||||
|
|
||||||
def get_log_file_path() -> Optional[Path]:
|
|
||||||
"""
|
|
||||||
Finds the log file by finding the logger handlers and checking if one of them is a fileHandler
|
|
||||||
of any kind by checking if the handler has the property handler.baseFilename.
|
|
||||||
|
|
||||||
:return: Log file path
|
|
||||||
"""
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
logger_handlers = logger.parent.handlers
|
|
||||||
for handler in logger_handlers:
|
|
||||||
if hasattr(handler, "baseFilename"):
|
|
||||||
logger.info("Log file found: {0}".format(handler.baseFilename))
|
|
||||||
log_file_path = handler.baseFilename
|
|
||||||
return Path(log_file_path)
|
|
||||||
|
|
||||||
logger.warning("No log file could be found, check logger config.")
|
|
||||||
return None
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ def _register_conventions(container: DIContainer, data_dir: Path):
|
||||||
"default_ransomware_agent_configuration",
|
"default_ransomware_agent_configuration",
|
||||||
DEFAULT_RANSOMWARE_AGENT_CONFIGURATION,
|
DEFAULT_RANSOMWARE_AGENT_CONFIGURATION,
|
||||||
)
|
)
|
||||||
container.register_convention(Path, "island_log_file_path", get_log_file_path())
|
container.register_convention(Path, "island_log_file_path", get_log_file_path(data_dir))
|
||||||
|
|
||||||
|
|
||||||
def _register_repositories(container: DIContainer, data_dir: Path):
|
def _register_repositories(container: DIContainer, data_dir: Path):
|
||||||
|
|
Loading…
Reference in New Issue