File size: 2,228 Bytes
a103028 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
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")
# log.basicConfig(level=log.INFO, format='%(levelname).4s %(message)s')
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')
|