首页 > 编程语言 > 详细

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

时间:2019-11-26 15:31:02      阅读:163      评论:0      收藏:0      [点我收藏+]

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模块具体化报错地点:

# 导入模块
import logging
import traceback
# 导入定义好的日志变量
from Api.utils.自定义日志 import logger1

# 测试1:
def func():
    try:
        a = a + 1
    except Exception 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, in func
    a = a + 1
UnboundLocalError: 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()

 

 

 

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!