settings文件中配置:
#路径根据项目配置
LOGGING_PATH = 'lib/utils/log/cmdb.log'
编写log.py文件,使用时可以直接导入
import settings
import logging
class Logger(object):
def __init__(self,file_path, level):
file_handler = logging.FileHandler(file_path,'a',encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s")
file_handler.setFormatter(fmt)
self.logger = logging.Logger('cmdb', level=level)
self.logger.addHandler(file_handler)
def error(self,msg):
self.logger.error(msg)
logger = Logger(settings.LOGGING_PATH, logging.DEBUG)
调用log.py函数
import traceback
import logger #根据logger文件路径进行导入
try:
#这里为正常业务代码
except Exception as e:
msg = traceback.format_exc() #跟踪堆栈信息
logger.error(msg)