""" funcX : Fast function serving for clouds, clusters and supercomputers. """ import logging from funcx.version import VERSION __author__ = "The funcX team" __version__ = VERSION from funcx.sdk.client import FuncXClient def set_file_logger(filename, name='funcx', level=logging.DEBUG, format_string=None): """Add a stream log handler. Args: - filename (string): Name of the file to write logs to - name (string): Logger name - level (logging.LEVEL): Set the logging level. - format_string (string): Set the format string Returns: - None """ if format_string is None: format_string = "%(asctime)s.%(msecs)03d %(name)s:%(lineno)d [%(levelname)s] %(message)s" logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) handler = logging.FileHandler(filename) handler.setLevel(level) formatter = logging.Formatter(format_string, datefmt='%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) logger.addHandler(handler) return logger def set_stream_logger(name='funcx', level=logging.DEBUG, format_string=None): """Add a stream log handler. Args: - name (string) : Set the logger name. - level (logging.LEVEL) : Set to logging.DEBUG by default. - format_string (string) : Set to None by default. Returns: - None """ if format_string is None: # format_string = "%(asctime)s %(name)s [%(levelname)s] Thread:%(thread)d %(message)s" format_string = "%(asctime)s %(name)s:%(lineno)d [%(levelname)s] %(message)s" logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) handler = logging.StreamHandler() handler.setLevel(level) formatter = logging.Formatter(format_string, datefmt='%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) logger.addHandler(handler) return logger logging.getLogger('funcx').addHandler(logging.NullHandler())