Source code for core.logger

from functools import wraps
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()


[docs]def log(comment=None): """ Basic logger: logger as decorator. If any function needs to be decorated use @log() decorator :param comment: LOG message before func exec :return: wrapped func """ def log_comment(func): @wraps(func) def wrapper(*args, **kwargs): try: if comment: logger.info(comment) res = func(*args, **kwargs) logger.info(f'Passed: {func.__name__.capitalize()}') # some shit right there # avoiding circular imports if str(res.__class__) in ("<class 'agent.AbstractAgent'>", "<class 'agent.LinkedAgent'>"): logger.info(f'Agent file was read successfully: {res.name}') return res except BaseException as e: logger.exception(f"Some error occured: {e}") raise e return wrapper return log_comment