Commit deffe59dc571906f6325ef0e2610f318669fd6ee
1 parent
925b2e48
Exists in
master
Insere função log de eventos
Showing
2 changed files
with
89 additions
and
0 deletions
Show diff stats
| @@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
| 1 | +[2015-04-17 02:57:36.024] INFO: 12 | ||
| 2 | +[2015-04-17 02:59:01.672] INFO: 12 | ||
| 3 | +[2015-04-17 02:59:04.960] WARNING: 12 | ||
| 4 | +[2015-04-17 02:59:11.521] ERROR: 12 | ||
| 5 | +[2015-04-17 02:59:15.105] CRITICAL: 12 | ||
| 6 | +[2015-04-17 02:59:30.056] CRITICAL: 12 | ||
| 7 | +[2015-04-17 02:59:35.104] ERROR: 12 | ||
| 8 | +[2015-04-17 03:01:28.624] INFO: This is a messageInfo | ||
| 9 | +[2015-04-17 03:01:28.624] WARNING: This is a messageWarn | ||
| 10 | +[2015-04-17 03:01:28.625] ERROR: This is a messageError | ||
| 11 | +[2015-04-17 03:01:28.625] CRITICAL: This is a messageCritical | ||
| 12 | +[2015-04-17 03:02:18.703] INFO: This is a messageInfo | ||
| 13 | +[2015-04-17 03:02:18.704] WARNING: This is a messageWarn | ||
| 14 | +[2015-04-17 03:02:18.704] ERROR: This is a messageError | ||
| 15 | +[2015-04-17 03:02:18.705] CRITICAL: This is a messageCritical | ||
| 16 | +[2015-04-17 03:02:37.855] INFO: This is a messageInfo | ||
| 17 | +[2015-04-17 03:02:37.856] WARNING: This is a messageWarn | ||
| 18 | +[2015-04-17 03:02:37.856] ERROR: This is a messageError | ||
| 19 | +[2015-04-17 03:02:37.856] CRITICAL: This is a messageCritical | ||
| 20 | +[2015-04-17 03:02:56.543] INFO: This is a messageInfo | ||
| 21 | +[2015-04-17 03:02:56.543] WARNING: This is a messageWarn | ||
| 22 | +[2015-04-17 03:02:56.544] ERROR: This is a messageError | ||
| 23 | +[2015-04-17 03:02:56.544] CRITICAL: This is a messageCritical | ||
| 24 | +[2015-04-17 03:02:57.951] INFO: This is a messageInfo | ||
| 25 | +[2015-04-17 03:02:57.952] WARNING: This is a messageWarn | ||
| 26 | +[2015-04-17 03:02:57.952] ERROR: This is a messageError | ||
| 27 | +[2015-04-17 03:02:57.952] CRITICAL: This is a messageCritical |
pyutil.py
| 1 | # -*- coding: UTF-8 -*- | 1 | # -*- coding: UTF-8 -*- |
| 2 | 2 | ||
| 3 | +# @def Função para obter data e hora atual do sistema | ||
| 4 | +# @param string Formato de data e hora | ||
| 5 | +# @return string Retorna data e hora do sistema no momento da chamada | ||
| 6 | +def getTimeStamp(dtFrmt='%Y-%m-%d_%H.%M.%S.%f'): | ||
| 7 | + from datetime import datetime | ||
| 8 | + if (dtFrmt == '%Y-%m-%d_%H.%M.%S.%f'): | ||
| 9 | + # [:-3] Remove 3 casas decimais dos milisegundos (ms) | ||
| 10 | + return datetime.now().strftime(dtFrmt)[:-3] | ||
| 11 | + else: | ||
| 12 | + return datetime.now().strftime(dtFrmt) | ||
| 13 | + | ||
| 14 | +# @def Função para gravar log dos eventos em arquivo | ||
| 15 | +# @param string Mensagem a ser salva | ||
| 16 | +# @param int indice do tipo de log 1: Debug, 2: Info, 3: Warn, 4: Error, 5: Critical | ||
| 17 | +# @param String Caminho completo do arquivo de logs | ||
| 18 | +# @param String Formato de tempo utilizado | ||
| 19 | +def log(logMsg="", logLevel=2, logFile="events.log", dtFrmt='%Y-%m-%d %H:%M:%S'): | ||
| 20 | + import logging | ||
| 21 | + | ||
| 22 | + logLevelArray = ["", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" ] | ||
| 23 | + logLevel %= len(logLevelArray) | ||
| 24 | + print("[%s] log %s: %s" % (getTimeStamp(), logLevelArray[logLevel], logMsg)) | ||
| 25 | + | ||
| 26 | + #logFormat='[%(asctime)s.%(msecs).03d] %(levelname)s: <User: %(name)s> <Module: %(module)s> <Function: %(funcName)s>: %(message)s' | ||
| 27 | + logFormat='[%(asctime)s.%(msecs).03d] %(levelname)s: %(message)s' | ||
| 28 | + | ||
| 29 | + if (logLevel == 1): | ||
| 30 | + logging.basicConfig(filename=logFile, datefmt=dtFrmt, format=logFormat, level=logging.DEBUG) | ||
| 31 | + logging.Formatter(fmt='%(asctime)s',datefmt='%Y/%m/%d,%H:%M:%S.%f') | ||
| 32 | + logging.debug(logMsg) | ||
| 33 | + | ||
| 34 | + elif (logLevel == 2): | ||
| 35 | + logging.basicConfig(filename=logFile, datefmt=dtFrmt, format=logFormat, level=logging.INFO) | ||
| 36 | + logging.Formatter(fmt='%(asctime)s',datefmt='%Y/%m/%d,%H:%M:%S.%f') | ||
| 37 | + logging.info(logMsg) | ||
| 38 | + | ||
| 39 | + elif (logLevel == 3): | ||
| 40 | + logging.basicConfig(filename=logFile, datefmt=dtFrmt, format=logFormat, level=logging.WARN) | ||
| 41 | + logging.Formatter(fmt='%(asctime)s',datefmt='%Y/%m/%d,%H:%M:%S.%f') | ||
| 42 | + logging.warn(logMsg) | ||
| 43 | + | ||
| 44 | + elif (logLevel == 4): | ||
| 45 | + logging.basicConfig(filename=logFile, datefmt=dtFrmt, format=logFormat, level=logging.ERROR) | ||
| 46 | + logging.Formatter(fmt='%(asctime)s',datefmt='%Y/%m/%d,%H:%M:%S.%f') | ||
| 47 | + logging.error(logMsg) | ||
| 48 | + | ||
| 49 | + elif (logLevel == 5): | ||
| 50 | + logging.basicConfig(filename=logFile, datefmt=dtFrmt, format=logFormat, level=logging.CRITICAL) | ||
| 51 | + logging.Formatter(fmt='%(asctime)s',datefmt='%Y/%m/%d,%H:%M:%S.%f') | ||
| 52 | + logging.critical(logMsg) | ||
| 53 | + | ||
| 54 | +def test_log(): | ||
| 55 | + msg = " This is a message " | ||
| 56 | + log(msg + "Debug", 1) | ||
| 57 | + log(msg + "Info", 2) | ||
| 58 | + log(msg + "Warn", 3) | ||
| 59 | + log(msg + "Error", 4) | ||
| 60 | + log(msg + "Critical", 5) | ||
| 61 | + log(msg + "Critical", 6) | ||
| 62 | + | ||
| 63 | +# test_log() | ||
| 64 | + | ||
| 3 | def printStackTrace(filename): | 65 | def printStackTrace(filename): |
| 4 | from sys import exc_info | 66 | from sys import exc_info |
| 5 | from os.path import basename | 67 | from os.path import basename |