django异常日志_【python小随笔】Django+错误日志(报错位置具体化)

本文介绍了如何在Django中自定义日志文件并利用traceback模块详细记录异常信息。通过创建日志对象,设置日志级别,以及在发生异常时使用traceback.format_exc(),可以将错误信息具体化并保存到日志文件中。
摘要由CSDN通过智能技术生成

1:  自定义日志文件.py----------几个文件需要创建日志,就需要重新定义几份

#1定义一个日志文件 创建一个操作日志对象logger

file_1= logging.FileHandler(‘text_1.log‘, ‘a‘, encoding=‘utf-8‘) # text_1.log 定义日志文件名

fmt= logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") # 定义创建时间,哪个文件,错误level,··

file_1 .setFormatter(fmt) # 建立执行

# 定义日志

logger1= logging.Logger(‘s1‘, level=logging.ERROR) # 设置日志

logger1.addHandler(file_1 )

2:将定义好的定义日志导入需要存放报错的文件,并且使用traceback模块具体化报错地点:

#导入模块

importloggingimporttraceback#导入定义好的日志变量

from Api.utils.自定义日志 importlogger1#测试1:

deffunc():try:

a= a + 1

exceptException as e:

msg=traceback.format_exc()

logger1.error(msg)

func()#报错结果:(自动创建文件并且写入错误信息)

2019-11-26 14:25:10,196 - s1 - ERROR -logging2: Traceback (most recent call last):

File"C:/Users/user/Desktop/framework/django-rest-framework/Api/utils/logging2.py", line 17, infunc

a= a + 1UnboundLocalError: local variable‘a‘ referenced before assignment

3:直接定义logging(不推荐),需要创建多个日志文件:

import logging

# logging

logging.basicConfig(

filename=‘loggingdemo.txt‘, # 日志文件名

format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘,

datefmt=‘%Y-%m-%d %H:%M:%S %p‘,

level=10

)

logging.debug(‘None‘)

logging.info(‘None‘) # 正常的信息

logging.warning(‘None‘) # 警告(不出错)

logging.error(‘None‘) # 报错

logging.critical(‘None‘) # 非常严重的错误

# logging.log(10,‘log‘)

"""

CRITICAL = 50

FATAL = CRITICAL

ERROR = 40

WARNING = 30

WARN = WARNING

INFO = 20

DEBUG = 10

NOTSET = 0

"""

def func():

try:

a = a + 1

except Exception as e:

print(e)

logging.error(str(e))

func()

原文:https://www.cnblogs.com/wanghong1994/p/11935417.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值