Upstream: https://github.com/Rhoban/onshape-to-robot Upstream-Commit: 80e710700aac9573a2230f74f7ce9e094833a0bc Upstream-Branch: master
75 lines
1.7 KiB
Python
75 lines
1.7 KiB
Python
'''
|
|
utils
|
|
=====
|
|
|
|
Handy functions for API key sample app
|
|
'''
|
|
|
|
import logging
|
|
from logging.config import dictConfig
|
|
|
|
__all__ = [
|
|
'log'
|
|
]
|
|
|
|
|
|
def log(msg, level=0):
|
|
'''
|
|
Logs a message to the console, with optional level paramater
|
|
|
|
Args:
|
|
- msg (str): message to send to console
|
|
- level (int): log level; 0 for info, 1 for error (default = 0)
|
|
'''
|
|
|
|
red = '\033[91m'
|
|
endc = '\033[0m'
|
|
|
|
# configure the logging module
|
|
cfg = {
|
|
'version': 1,
|
|
'disable_existing_loggers': False,
|
|
'formatters': {
|
|
'stdout': {
|
|
'format': '[%(levelname)s]: %(asctime)s - %(message)s',
|
|
'datefmt': '%x %X'
|
|
},
|
|
'stderr': {
|
|
'format': red + '[%(levelname)s]: %(asctime)s - %(message)s' + endc,
|
|
'datefmt': '%x %X'
|
|
}
|
|
},
|
|
'handlers': {
|
|
'stdout': {
|
|
'class': 'logging.StreamHandler',
|
|
'level': 'DEBUG',
|
|
'formatter': 'stdout'
|
|
},
|
|
'stderr': {
|
|
'class': 'logging.StreamHandler',
|
|
'level': 'ERROR',
|
|
'formatter': 'stderr'
|
|
}
|
|
},
|
|
'loggers': {
|
|
'info': {
|
|
'handlers': ['stdout'],
|
|
'level': 'INFO',
|
|
'propagate': True
|
|
},
|
|
'error': {
|
|
'handlers': ['stderr'],
|
|
'level': 'ERROR',
|
|
'propagate': False
|
|
}
|
|
}
|
|
}
|
|
|
|
dictConfig(cfg)
|
|
|
|
lg = 'info' if level == 0 else 'error'
|
|
lvl = 20 if level == 0 else 40
|
|
|
|
logger = logging.getLogger(lg)
|
|
logger.log(lvl, msg)
|