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)
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)
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)