Esempio n. 1
0
def setting_logger(debug, log_level, logdir):
    logging.reset_logger(logdir)
    if debug:
        logging_level = logging.get_level("debug")
    else:
        logging_level = logging.get_level(log_level)
    logging.set_logging_level(logging_level)
    logger = logging.get_logger()
    return logger
def test_logger_handler():
    logger_handler = TestLoggerHandler()
    logger = get_logger()
    logger_handler.setLevel(logging.DEBUG)
    formatter = logging.Formatter(
        '%(asctime)s - %(name)s - %(levelname)s {%(threadName)s} [%(filename)s:%(lineno)s - %(funcName)s()]  %(message)s')
    logger_handler.setFormatter(formatter)
    logger.addHandler(logger_handler)
    yield logger_handler
    logger.removeHandler(logger_handler)
Esempio n. 3
0
def main_sync(config_file, logdir):
    logging.reset_logger(logdir)
    logger = logging.get_logger()
    try:
        exit_code = asyncio.run(main(config_file))
    except KeyboardInterrupt:
        sys.exit(0)
    except Exception as e:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        logger.error(
            traceback.format_exception(exc_type, exc_value, exc_traceback))
        raise
    sys.exit(exit_code)
def run(config_file, logdir, log_level, debug):
    logging.reset_logger(logdir)
    if debug:
        logging_level = logging.get_level("debug")
    else:
        logging_level = logging.get_level(log_level)
    logging.set_logging_level(logging_level)
    logger = logging.get_logger()
    try:
        exit_code = asyncio.run(main(config_file))
    except KeyboardInterrupt:
        sys.exit(0)
    except Exception as e:
        logger.debug("Error running the dispatcher", exc_info=e)
        raise
    sys.exit(exit_code)
Esempio n. 5
0
import os
import sys
import shutil

import click
import asyncio
import traceback

from aiohttp import ClientSession

from faraday_agent_dispatcher.dispatcher import Dispatcher
from faraday_agent_dispatcher.utils.text_utils import Bcolors
from faraday_agent_dispatcher import config
import faraday_agent_dispatcher.logger as logging

logger = logging.get_logger()


async def main(config_file):

    if config_file is None and not os.path.exists(config.CONFIG_FILENAME):
        logger.info("Config file doesn't exist. Creating a new one")
        os.makedirs(config.CONFIG_PATH, exist_ok=True)
        shutil.copyfile(config.EXAMPLE_CONFIG_FILENAME, config.CONFIG_FILENAME)
        logger.info(f"Config file at {config.CONFIG_FILENAME} created")
    config_file = config_file or config.CONFIG_FILENAME
    config.reset_config(config_file)

    async with ClientSession(raise_for_status=True) as session:
        try:
            dispatcher = Dispatcher(session, config_file)
import re

from faraday_agent_dispatcher.config import Sections
from faraday_agent_dispatcher.utils.metadata_utils import (
    executor_metadata,
    executor_folder,
    check_commands,
)
from faraday_agent_dispatcher.utils.control_values_utils import control_int, control_str, ParamsSchema
from faraday_agent_dispatcher.utils.text_utils import Bcolors
from faraday_agent_dispatcher.logger import get_logger

logger = get_logger()


class Executor:
    __control_dict = {
        "cmd": control_str(True),
        "repo_executor": control_str(True),
        "max_size": control_int(True),
    }

    def __init__(self, name: str, config):
        name = name.strip()
        self.control_config(name, config)
        self.name = name
        self.repo_executor = config.get("repo_executor")
        if self.repo_executor:
            self.repo_name = re.search(r"(^[a-zA-Z0-9_-]+)(?:\..*)*$",
                                       self.repo_executor).group(1)
            metadata = executor_metadata(self.repo_name)