参考链接
https://www.cnblogs.com/kangshuaibo/p/14700833.html
Python日志配置文件
#./logging.conf
#记录器:提供应用程序代码直接使用的接口
#设置记录器名称,root必须存在!!!
[loggers]
keys=root,applog
#处理器,将记录器产生的日志发送至目的地
#设置处理器类型
[handlers]
keys=fileHandler,consoleHandler
#格式化器,设置日志内容的组成结构和消息字段
#设置格式化器的种类
[formatters]
keys=simpleFormatter
#设置记录器root的级别与种类
[logger_root]
level=DEBUG
handlers=consoleHandler
#设置记录器applog的级别与种类
[logger_applog]
level=DEBUG
handlers=fileHandler,consoleHandler
#起个对外的名字
qualname=applog
#继承关系
propagate=0
#设置
[handler_consoleHandler]
class=StreamHandler
args=(sys.stdout,)
level=DEBUG
formatter=simpleFormatter
[handler_fileHandler]
class=handlers.TimedRotatingFileHandler
#在午夜1点(3600s)开启下一个log文件,第四个参数0表示保留历史文件
args=('applog.log','midnight',3600,0)
level=DEBUG
formatter=simpleFormatter
[formatter_simpleFormatter]
format=%(asctime)s|%(levelname)8s|%(filename)s[:%(lineno)d]|%(message)s
#设置时间输出格式
datefmt=%Y-%m-%d %H:%M:%S
使用方式:
#封装一个get_logging.py文件,这个可以封装成一个单例的,后期熟练之后再搞
import logging
import logging.config
def get_logger(confName = "applog"):
logging.config.fileConfig("logging.conf")
return logging.getLogger(confName)
#引用
from get_logging import get_logger
logger = get_logger()
异常捕获日志打印:
from get_logging import get_logger
logger = get_logger()
try:
int(a)
except Exception as e:
logger.exception(e) #这个可以打印出错信息,还可以打印栈信息