def setup(procname, debug = False):
# XXX chicken egg
runinfo['service'] = procname
runinfo['host'] = socket.getaddrinfo(socket.gethostname(), 0, 0, 0, 0, socket.AI_CANONNAME)[0][3]
runinfo['debug'] = debug
logging.config.dictConfig({
"version": 1,
"formatters": {
"default": {
"format": " ".join([ "%s[%%(process)s]:" % (procname, ),
"%(levelname)s:",
"%(message)s" ]),
"datefmt": "%Y/%m/%d %H:%M:%S",
},
"exception": {
"format": "".join([ "-" * 72 + "\n",
"%(asctime)s",
" %s[%%(process)s]:" % (procname, ),
" %(levelname)s:",
" %(message)s",
]),
"datefmt": "%Y/%m/%d %H:%M:%S",
},
},
"handlers": {
"syslog": {
"class": "logging.handlers.SysLogHandler",
"formatter": "default",
"level": debug and "DEBUG" or "INFO",
"address": "/dev/log",
},
"stdout": {
"class": "logging.StreamHandler",
"formatter": "default",
"level": debug and "DEBUG" or "INFO",
},
"null": {
"class" : "logging.NullHandler",
"formatter": "exception",
}
},
"loggers": {
"threadless": {
"handlers" : [ debug and "stdout" or "syslog" ],
"level": debug and "DEBUG" or "INFO",
"propagate": False,
},
},
"root": {
"handlers": [ debug and "stdout" or "syslog" ],
"level": "INFO",
}
})
评论列表
文章目录