P
This commit is contained in:
parent
fbdeacdc76
commit
48aeb9426f
26 changed files with 5550 additions and 0 deletions
44
lib/yql/logger.py
Normal file
44
lib/yql/logger.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
"""Logging for Python YQL."""
|
||||
|
||||
import os
|
||||
import logging
|
||||
import logging.handlers
|
||||
|
||||
|
||||
LOG_DIRECTORY_DEFAULT = os.path.join(os.path.dirname(__file__), "../logs")
|
||||
LOG_DIRECTORY = os.environ.get("YQL_LOG_DIR", LOG_DIRECTORY_DEFAULT)
|
||||
LOG_LEVELS = {'debug': logging.DEBUG,
|
||||
'info': logging.INFO,
|
||||
'warning': logging.WARNING,
|
||||
'error': logging.ERROR,
|
||||
'critical': logging.CRITICAL}
|
||||
|
||||
LOG_LEVEL = os.environ.get("YQL_LOGGING_LEVEL", 'debug')
|
||||
LOG_FILENAME = os.path.join(LOG_DIRECTORY, "python-yql.log")
|
||||
MAX_BYTES = 1024 * 1024
|
||||
|
||||
log_level = LOG_LEVELS.get(LOG_LEVEL)
|
||||
yql_logger = logging.getLogger("python-yql")
|
||||
yql_logger.setLevel(LOG_LEVELS.get(LOG_LEVEL))
|
||||
|
||||
|
||||
class NullHandler(logging.Handler):
|
||||
def emit(self, record):
|
||||
pass
|
||||
|
||||
|
||||
def get_logger():
|
||||
"""Set-upt the logger if enabled or fallback to NullHandler."""
|
||||
if os.environ.get("YQL_LOGGING", False):
|
||||
if not os.path.exists(LOG_DIRECTORY):
|
||||
os.mkdir(LOG_DIRECTORY)
|
||||
log_handler = logging.handlers.RotatingFileHandler(
|
||||
LOG_FILENAME, maxBytes=MAX_BYTES,
|
||||
backupCount=5)
|
||||
formatter = logging.Formatter(
|
||||
"%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
||||
log_handler.setFormatter(formatter)
|
||||
else:
|
||||
log_handler = NullHandler()
|
||||
yql_logger.addHandler(log_handler)
|
||||
return yql_logger
|
Reference in a new issue