def mount(cls, p_handler, p_path, p_conf=None, p_logger="cherrypy"):
if p_conf is None:
p_conf = {}
if not cls.ms_initialized:
raise XtdError(__name__, "you must initialize server manager first")
l_res = mergedicts({
'/' : {
"tools.log_request.on" : True,
"tools.log_request.module" : p_logger + ".error",
"tools.log_request.level" : "debug",
"tools.log_response.on" : True,
"tools.log_response.module" : p_logger + ".error",
"tools.log_response.level" : "debug",
"tools.counter_start.on" : True,
"tools.counter_start.ns" : p_logger,
"tools.counter_start.name" : "rtt",
"tools.counter_stop.on" : True,
"tools.counter_stop.ns" : p_logger,
"tools.counter_stop.name" : "rtt",
}
}, p_conf)
l_app = cherrypy.tree.mount(p_handler, p_path, dict(l_res))
l_filterAccess = cls.LoggerFilter(p_logger + ".access")
l_filterError = cls.LoggerFilter(p_logger + ".error")
l_loggerAccess = logging.getLogger(p_logger + ".access")
l_loggerError = logging.getLogger(p_logger + ".error")
l_loggerError.addFilter(l_filterError)
l_loggerAccess.addFilter(l_filterAccess)
l_app.log.error_log = l_loggerError
l_app.log.access_log = l_loggerAccess
return l_app
评论列表
文章目录