34d8a7c6b3
nouveau fichier: doc/html/annotated.html nouveau fichier: doc/html/annotated.js nouveau fichier: doc/html/bc_s.png nouveau fichier: doc/html/bdwn.png nouveau fichier: doc/html/classes.html nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error-members.html nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.html nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.js nouveau fichier: doc/html/classm_1_1load_conf_1_1_config_error.png nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf-members.html nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.html nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.js nouveau fichier: doc/html/classm_1_1load_conf_1_1_load_conf.png nouveau fichier: doc/html/classm_1_1log_1_1_log-members.html nouveau fichier: doc/html/classm_1_1log_1_1_log.html nouveau fichier: doc/html/classm_1_1log_1_1_log.js nouveau fichier: doc/html/classm_1_1log_1_1_log.png nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter-members.html nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.html nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.js nouveau fichier: doc/html/classm_1_1log_1_1_single_level_filter.png nouveau fichier: doc/html/classm_1_1log_1_1bcolors-members.html nouveau fichier: doc/html/classm_1_1log_1_1bcolors.html nouveau fichier: doc/html/classm_1_1log_1_1lvl-members.html nouveau fichier: doc/html/classm_1_1log_1_1lvl.html nouveau fichier: doc/html/classm_1_1login_1_1_login-members.html nouveau fichier: doc/html/classm_1_1login_1_1_login.html nouveau fichier: doc/html/classm_1_1login_1_1_login.js nouveau fichier: doc/html/classm_1_1login_1_1_login.png nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_base_handler.png nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_disconnection_handler.png nouveau fichier: doc/html/classsuper_tornado_1_1_global_vars-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_global_vars.html nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_main_handler.png nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_unauthorized_handler.png nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_video_handler.png nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler-members.html nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.html nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.js nouveau fichier: doc/html/classsuper_tornado_1_1_w_socket_handler.png nouveau fichier: doc/html/closed.png nouveau fichier: doc/html/dir_060e062f70a4a7965197b0046a5699c1.html nouveau fichier: doc/html/dir_b9f9e361513c934f24957ae0a3633a41.html nouveau fichier: doc/html/dir_cc95ad066e2e041bbee057a78f4a0df2.html nouveau fichier: doc/html/doxygen.css nouveau fichier: doc/html/doxygen.png nouveau fichier: doc/html/dynsections.js nouveau fichier: doc/html/ftv2blank.png nouveau fichier: doc/html/ftv2cl.png nouveau fichier: doc/html/ftv2doc.png nouveau fichier: doc/html/ftv2folderclosed.png nouveau fichier: doc/html/ftv2folderopen.png nouveau fichier: doc/html/ftv2lastnode.png nouveau fichier: doc/html/ftv2link.png nouveau fichier: doc/html/ftv2mlastnode.png nouveau fichier: doc/html/ftv2mnode.png nouveau fichier: doc/html/ftv2mo.png nouveau fichier: doc/html/ftv2node.png nouveau fichier: doc/html/ftv2ns.png nouveau fichier: doc/html/ftv2plastnode.png nouveau fichier: doc/html/ftv2pnode.png nouveau fichier: doc/html/ftv2splitbar.png nouveau fichier: doc/html/ftv2vertline.png nouveau fichier: doc/html/functions.html nouveau fichier: doc/html/functions_func.html nouveau fichier: doc/html/hierarchy.html nouveau fichier: doc/html/hierarchy.js nouveau fichier: doc/html/index.html nouveau fichier: doc/html/jquery.js nouveau fichier: doc/html/link lol.gif nouveau fichier: doc/html/md__r_e_a_d_m_e.html nouveau fichier: doc/html/namespaces.html nouveau fichier: doc/html/namespaces.js nouveau fichier: doc/html/namespacesuper_tornado.html nouveau fichier: doc/html/namespacesuper_tornado.js nouveau fichier: doc/html/nav_f.png nouveau fichier: doc/html/nav_g.png nouveau fichier: doc/html/nav_h.png nouveau fichier: doc/html/navtree.css nouveau fichier: doc/html/navtree.js nouveau fichier: doc/html/navtreeindex0.js nouveau fichier: doc/html/open.png nouveau fichier: doc/html/pages.html nouveau fichier: doc/html/resize.js nouveau fichier: doc/html/search/all_0.html nouveau fichier: doc/html/search/all_0.js nouveau fichier: doc/html/search/all_1.html nouveau fichier: doc/html/search/all_1.js nouveau fichier: doc/html/search/all_2.html nouveau fichier: doc/html/search/all_2.js nouveau fichier: doc/html/search/all_3.html nouveau fichier: doc/html/search/all_3.js nouveau fichier: doc/html/search/all_4.html nouveau fichier: doc/html/search/all_4.js nouveau fichier: doc/html/search/all_5.html nouveau fichier: doc/html/search/all_5.js nouveau fichier: doc/html/search/all_6.html nouveau fichier: doc/html/search/all_6.js nouveau fichier: doc/html/search/all_7.html nouveau fichier: doc/html/search/all_7.js nouveau fichier: doc/html/search/all_8.html nouveau fichier: doc/html/search/all_8.js nouveau fichier: doc/html/search/all_9.html nouveau fichier: doc/html/search/all_9.js nouveau fichier: doc/html/search/all_a.html nouveau fichier: doc/html/search/all_a.js nouveau fichier: doc/html/search/all_b.html nouveau fichier: doc/html/search/all_b.js nouveau fichier: doc/html/search/all_c.html nouveau fichier: doc/html/search/all_c.js nouveau fichier: doc/html/search/all_d.html nouveau fichier: doc/html/search/all_d.js nouveau fichier: doc/html/search/classes_0.html nouveau fichier: doc/html/search/classes_0.js nouveau fichier: doc/html/search/classes_1.html nouveau fichier: doc/html/search/classes_1.js nouveau fichier: doc/html/search/classes_2.html nouveau fichier: doc/html/search/classes_2.js nouveau fichier: doc/html/search/classes_3.html nouveau fichier: doc/html/search/classes_3.js nouveau fichier: doc/html/search/classes_4.html nouveau fichier: doc/html/search/classes_4.js nouveau fichier: doc/html/search/classes_5.html nouveau fichier: doc/html/search/classes_5.js nouveau fichier: doc/html/search/classes_6.html nouveau fichier: doc/html/search/classes_6.js nouveau fichier: doc/html/search/classes_7.html nouveau fichier: doc/html/search/classes_7.js nouveau fichier: doc/html/search/classes_8.html nouveau fichier: doc/html/search/classes_8.js nouveau fichier: doc/html/search/classes_9.html nouveau fichier: doc/html/search/classes_9.js nouveau fichier: doc/html/search/close.png nouveau fichier: doc/html/search/functions_0.html nouveau fichier: doc/html/search/functions_0.js nouveau fichier: doc/html/search/functions_1.html nouveau fichier: doc/html/search/functions_1.js nouveau fichier: doc/html/search/functions_2.html nouveau fichier: doc/html/search/functions_2.js nouveau fichier: doc/html/search/functions_3.html nouveau fichier: doc/html/search/functions_3.js nouveau fichier: doc/html/search/functions_4.html nouveau fichier: doc/html/search/functions_4.js nouveau fichier: doc/html/search/functions_5.html nouveau fichier: doc/html/search/functions_5.js nouveau fichier: doc/html/search/functions_6.html nouveau fichier: doc/html/search/functions_6.js nouveau fichier: doc/html/search/functions_7.html nouveau fichier: doc/html/search/functions_7.js nouveau fichier: doc/html/search/mag_sel.png nouveau fichier: doc/html/search/namespaces_0.html nouveau fichier: doc/html/search/namespaces_0.js nouveau fichier: doc/html/search/nomatches.html nouveau fichier: doc/html/search/pages_0.html nouveau fichier: doc/html/search/pages_0.js nouveau fichier: doc/html/search/search.css nouveau fichier: doc/html/search/search.js nouveau fichier: doc/html/search/search_l.png nouveau fichier: doc/html/search/search_m.png nouveau fichier: doc/html/search/search_r.png nouveau fichier: doc/html/sync_off.png nouveau fichier: doc/html/sync_on.png nouveau fichier: doc/html/tab_a.png nouveau fichier: doc/html/tab_b.png nouveau fichier: doc/html/tab_h.png nouveau fichier: doc/html/tab_s.png nouveau fichier: doc/html/tabs.css nouveau fichier: doc/latex/Makefile nouveau fichier: doc/latex/annotated.tex nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.eps nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.pdf nouveau fichier: doc/latex/classm_1_1load_conf_1_1_config_error.tex nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.eps nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.pdf nouveau fichier: doc/latex/classm_1_1load_conf_1_1_load_conf.tex nouveau fichier: doc/latex/classm_1_1log_1_1_log.eps nouveau fichier: doc/latex/classm_1_1log_1_1_log.pdf nouveau fichier: doc/latex/classm_1_1log_1_1_log.tex nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.eps nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.pdf nouveau fichier: doc/latex/classm_1_1log_1_1_single_level_filter.tex nouveau fichier: doc/latex/classm_1_1log_1_1bcolors.tex nouveau fichier: doc/latex/classm_1_1log_1_1lvl.tex nouveau fichier: doc/latex/classm_1_1login_1_1_login.eps nouveau fichier: doc/latex/classm_1_1login_1_1_login.pdf nouveau fichier: doc/latex/classm_1_1login_1_1_login.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_base_handler.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_disconnection_handler.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_global_vars.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_main_handler.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_unauthorized_handler.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_video_handler.tex nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.eps nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.pdf nouveau fichier: doc/latex/classsuper_tornado_1_1_w_socket_handler.tex nouveau fichier: doc/latex/dir_060e062f70a4a7965197b0046a5699c1.tex nouveau fichier: doc/latex/dir_b9f9e361513c934f24957ae0a3633a41.tex nouveau fichier: doc/latex/dir_cc95ad066e2e041bbee057a78f4a0df2.tex nouveau fichier: doc/latex/doxygen.sty nouveau fichier: doc/latex/hierarchy.tex nouveau fichier: doc/latex/md__r_e_a_d_m_e.tex nouveau fichier: doc/latex/namespaces.tex nouveau fichier: doc/latex/namespacesuper_tornado.tex nouveau fichier: doc/latex/refman.tex nouveau fichier: doc/link lol.gif nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_m_.3 nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_v_.3 nouveau fichier: doc/man/man3/_home_sidya_Documents_iut_ptut_v_js_.3 nouveau fichier: doc/man/man3/m_loadConf_ConfigError.3 nouveau fichier: doc/man/man3/m_loadConf_LoadConf.3 nouveau fichier: doc/man/man3/m_log_Log.3 nouveau fichier: doc/man/man3/m_log_SingleLevelFilter.3 nouveau fichier: doc/man/man3/m_log_bcolors.3 nouveau fichier: doc/man/man3/m_log_lvl.3 nouveau fichier: doc/man/man3/m_login_Login.3 nouveau fichier: doc/man/man3/md__r_e_a_d_m_e.3 nouveau fichier: doc/man/man3/superTornado.3 nouveau fichier: doc/man/man3/superTornado_BaseHandler.3 nouveau fichier: doc/man/man3/superTornado_DisconnectionHandler.3 nouveau fichier: doc/man/man3/superTornado_GlobalVars.3 nouveau fichier: doc/man/man3/superTornado_MainHandler.3 nouveau fichier: doc/man/man3/superTornado_UnauthorizedHandler.3 nouveau fichier: doc/man/man3/superTornado_VideoHandler.3 nouveau fichier: doc/man/man3/superTornado_WSocketHandler.3 renommé: m/fichier/autorise -> m/fichier/allow supprimé: m/fichier/log modifié: m/loadConf.py modifié: m/log.py modifié: m/login.py modifié: superTornado.py modifié: v/index.html modifié: v/video.html
100 lines
2.8 KiB
Python
100 lines
2.8 KiB
Python
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
|
|
class bcolors:
|
|
"""
|
|
Define constant value color for different level
|
|
"""
|
|
DEBUG = '\033[94m'
|
|
INFO = '\033[95m'
|
|
SUCCESS = '\033[92m'
|
|
WARNING = '\033[93m'
|
|
FAIL = '\033[91m'
|
|
ENDC = '\033[0m'
|
|
|
|
class lvl:
|
|
"""
|
|
Define constant value for level log
|
|
"""
|
|
NOTSET = 0
|
|
DEBUG = 10
|
|
INFO = 20
|
|
SUCCESS = 25
|
|
WARNING = 30
|
|
FAIL = 40
|
|
|
|
class SingleLevelFilter(logging.Filter):
|
|
"""Filter for one level"""
|
|
def __init__(self, passlevel, reject):
|
|
"""
|
|
Constructor
|
|
passlevel : level to filter
|
|
reject : true on reject state
|
|
"""
|
|
self.passlevel = passlevel
|
|
self.reject = reject
|
|
|
|
class Log(object):
|
|
"""
|
|
Log Manager
|
|
"""
|
|
def __init__(self) :
|
|
"""
|
|
Define 3 differents log :
|
|
activity.log -> all activity server
|
|
warning.log -> only warning server (including illegal acess)
|
|
error.log' -> error server
|
|
Write all message on terminal too
|
|
"""
|
|
logging.addLevelName(lvl.SUCCESS, "SUCCESS")
|
|
|
|
self.logger = logging.getLogger()
|
|
self.logger.setLevel(logging.DEBUG)
|
|
formatter = logging.Formatter('%(asctime)-15s :: %(levelname)s :: %(message)s')
|
|
|
|
file_handler = RotatingFileHandler('log/activity.log', 'a', 1000000, 1)
|
|
file_handler.setLevel(logging.DEBUG)
|
|
file_handler.setFormatter(formatter)
|
|
self.logger.addHandler(file_handler)
|
|
|
|
file_handler_warning = RotatingFileHandler('log/warning.log', 'a', 1000000, 1)
|
|
f1 = SingleLevelFilter(logging.WARNING, False)
|
|
file_handler_warning.addFilter(f1)
|
|
file_handler_warning.setFormatter(formatter)
|
|
self.logger.addHandler(file_handler_warning)
|
|
|
|
file_handler_error = RotatingFileHandler('log/error.log', 'a', 1000000, 1)
|
|
file_handler_error.setLevel(logging.ERROR)
|
|
file_handler_error.setFormatter(formatter)
|
|
self.logger.addHandler(file_handler_error)
|
|
|
|
steam_handler = logging.StreamHandler()
|
|
steam_handler.setLevel(logging.NOTSET)
|
|
self.logger.addHandler(steam_handler)
|
|
|
|
|
|
def printL(self,pMsg,pLvl):
|
|
"""
|
|
Add color and write in log with an define level
|
|
pMsg : message to write in log
|
|
pLvl : level of log message
|
|
"""
|
|
if pLvl == lvl.DEBUG :
|
|
pMsg = bcolors.DEBUG + pMsg + bcolors.ENDC
|
|
elif pLvl == lvl.INFO :
|
|
pMsg = bcolors.INFO + pMsg + bcolors.ENDC
|
|
elif pLvl == lvl.SUCCESS :
|
|
pMsg = bcolors.SUCCESS + pMsg + bcolors.ENDC
|
|
elif pLvl == lvl.WARNING :
|
|
pMsg = bcolors.WARNING + pMsg + bcolors.ENDC
|
|
elif pLvl == lvl.FAIL :
|
|
pMsg = bcolors.FAIL + pMsg + bcolors.ENDC
|
|
self.logger.log(pLvl,pMsg)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|