ripensamenti sui file di configurazione, il logger legge un file

separato
This commit is contained in:
2019-12-18 19:35:24 +01:00
parent fd9434868f
commit 12501c4edc
3 changed files with 43 additions and 37 deletions

View File

@@ -3,46 +3,52 @@ Created on 2 nov 2019
@author: Emanuele Trabattoni @author: Emanuele Trabattoni
''' '''
import sys, os import sys
import json import json
import logging import logging
import colorama import colorama
from bananaSPLIT.main import fp
class fancyLogger(object): class fancyLogger(object):
''' '''
Colorizza il logger di python, per un' esperienza stile willy wonka Colorizza il logger di python, per un' esperienza stile willy wonka
''' '''
def __init__(self, name="Logger", consoleLog=True, fileLog=True): def __init__(self, filepath=None, name="Logger", consoleLog=True, fileLog=False):
settings = json.load(open(os.getcwd()+r"\libbananasplit\testEN.json"))["logger"] try:
colorama.init(convert=True) with open(filepath, 'r') as fp:
self.LRED = colorama.Fore.LIGHTRED_EX settings = json.load(fp)
self.RED = colorama.Fore.RED fp.close()
self.LYELLOW = colorama.Fore.LIGHTYELLOW_EX colorama.init(convert=True)
self.YELLOW = colorama.Fore.YELLOW self.LRED = colorama.Fore.LIGHTRED_EX
self.LBLUE = colorama.Fore.LIGHTBLUE_EX self.RED = colorama.Fore.RED
self.BLUE = colorama.Fore.BLUE self.LYELLOW = colorama.Fore.LIGHTYELLOW_EX
self.LGREEN = colorama.Fore.LIGHTGREEN_EX self.YELLOW = colorama.Fore.YELLOW
self.LGREEN = colorama.Fore.GREEN self.LBLUE = colorama.Fore.LIGHTBLUE_EX
self.WHITE = colorama.Fore.LIGHTWHITE_EX self.BLUE = colorama.Fore.BLUE
self.RST = colorama.Style.RESET_ALL self.LGREEN = colorama.Fore.LIGHTGREEN_EX
self.LGREEN = colorama.Fore.GREEN
# Setup Logger self.WHITE = colorama.Fore.LIGHTWHITE_EX
self.LOGGER = logging.getLogger(name) self.RST = colorama.Style.RESET_ALL
self.LOGGER.setLevel(logging.DEBUG)
self.LOGGER.propagate = False # Setup Logger
FORMATTER = logging.Formatter((settings["logFormat"]), (settings["logTimeFormat"])) self.LOGGER = logging.getLogger(name)
if fileLog: self.LOGGER.setLevel(logging.DEBUG)
# File Logging self.LOGGER.propagate = False
fh = logging.FileHandler((settings["logFile"])) FORMATTER = logging.Formatter((settings["logFormat"]), (settings["logTimeFormat"]))
fh.setLevel(logging.DEBUG) if fileLog:
fh.setFormatter(FORMATTER) # File Logging
self.LOGGER.addHandler(fh) fh = logging.FileHandler((settings["logFile"]))
if consoleLog: fh.setLevel(logging.DEBUG)
# Console Logging fh.setFormatter(FORMATTER)
cl= logging.StreamHandler(sys.stdout) self.LOGGER.addHandler(fh)
cl.setLevel(logging.DEBUG) if consoleLog:
cl.setFormatter(FORMATTER) # Console Logging
self.LOGGER.addHandler(cl) cl= logging.StreamHandler(sys.stdout)
cl.setLevel(logging.DEBUG)
cl.setFormatter(FORMATTER)
self.LOGGER.addHandler(cl)
except IOError as e:
print("Impossibile caricare la configurazione del logger: [{}]".format(e))
pass pass
def debug(self, msg="Undefined Debug"): def debug(self, msg="Undefined Debug"):

View File

@@ -0,0 +1,5 @@
{
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
}

View File

@@ -1,10 +1,5 @@
{ {
"version": "v1.1a", "version": "v1.1a",
"logger": {
"logFile": "D:\\Test\\bananaSPLIT.log",
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
"logTimeFormat": "%m-%d %H:%M:%S"
},
"splitter": { "splitter": {
"name": "", "name": "",
"paths": { "paths": {