sghorbal
fullfile minimal requirements to be run on huggingface
69c15ba
import json
import logging
# Set up logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
# logging.FileHandler("app.log"),
logging.StreamHandler()
]
)
logger = logging.getLogger(__name__)
def _fancy_print(data, log_level=logging.INFO):
log_function = {
logging.DEBUG: logger.debug,
logging.INFO: logger.info,
logging.WARNING: logger.warning,
logging.ERROR: logger.error,
logging.CRITICAL: logger.critical
}.get(log_level, logger.info)
try:
log = json.dumps(data, indent=2, separators=(',', ': '))
except (TypeError, ValueError):
log = str(data)
log_function(log)
def log_debug(data):
_fancy_print(data, log_level=logging.DEBUG)
def log_info(data):
_fancy_print(data, log_level=logging.INFO)
def log_warning(data):
_fancy_print(data, log_level=logging.WARNING)
def log_error(data):
_fancy_print(data, log_level=logging.ERROR)
def log_critical(data):
_fancy_print(data, log_level=logging.CRITICAL)
def log_exception(data):
_fancy_print(data, log_level=logging.ERROR)
def log_exception_with_traceback(data):
import traceback
log_exception(data)
logger.error(traceback.format_exc())