| |
|
| | import sys |
| | import logging as log |
| | import os |
| |
|
| | from .Common import * |
| |
|
| | logLevelMap = { "trace" : log.DEBUG, |
| | "debug" : log.DEBUG, |
| | "info" : log.INFO, |
| | "warning" : log.WARNING, |
| | "error" : log.ERROR, |
| | } |
| |
|
| | class ExitOnExceptionHandler(log.StreamHandler): |
| | def emit(self, record): |
| | super().emit(record) |
| | if record.levelno == log.CRITICAL: |
| | sys.exit(-1) |
| |
|
| | def DefaultLogTimestamp(): |
| | log_format = os.environ.get('ROLL_LOG_TIMESTAMP') |
| | if log_format is not None and log_format != "": |
| | log_format = int(log_format) |
| | if log_format >= 0 and log_format <= 2: |
| | return log_format |
| | else: |
| | log.warn("Invalid value " + str(log_format) + " of environment variable ROLL_LOG_LEVEL") |
| |
|
| | return 0 |
| |
|
| | def DefaultLogLevel(): |
| |
|
| | log_level = os.environ.get('ROLL_LOG_LEVEL') |
| | if log_level is not None and log_level != "": |
| | if log_level in logLevelMap.keys(): |
| | return log_level |
| | else: |
| | log.warn("Invalid value " + log_level + " of environment variable ROLL_LOG_LEVEL") |
| |
|
| | if IsOsMac(): |
| | return "debug" |
| | else: |
| | return "info" |
| |
|
| | def LogTimestampHelp(): |
| | return "0: no timestamp, 1: [09:31AM], 2: [Sep 14 09:32:02]" |
| |
|
| | def LogLevelHelp(): |
| | return "Log level: debug, info, warning, error" |
| |
|
| | def InitLog(log_level, log_timestamp): |
| |
|
| | log.addLevelName(log.DEBUG, "DEBU") |
| | log.addLevelName(log.INFO, "INFO") |
| | log.addLevelName(log.WARNING, "WARN") |
| | log.addLevelName(log.ERROR, "ERRO") |
| | log.addLevelName(log.FATAL, "FATA") |
| |
|
| | |
| | if log_timestamp == 0: |
| | log.basicConfig(handlers=[ExitOnExceptionHandler()], level=logLevelMap[log_level], format='%(levelname)s %(message)s', datefmt='%I:%M%p') |
| | elif log_timestamp == 1: |
| | log.basicConfig(handlers=[ExitOnExceptionHandler()], level=logLevelMap[log_level], format='%(levelname)s[%(asctime)s] %(message)s', datefmt='%I:%M%p') |
| | else: |
| | log.basicConfig(handlers=[ExitOnExceptionHandler()], level=logLevelMap[log_level], format='%(levelname)s[%(asctime)s] %(message)s', datefmt='%b %d %H:%M:%S') |
| |
|