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

# 定义一个日志文件 创建一个操作日志对象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()

4:Django里指定任意日志文件位置:

# 取执行文件全局绝对路径(不管在哪里启动Django都会取到这个路径) 红色的字体表示自定义名称
path= os.path.abspath(os.path.dirname(__file__)) # 拼接路径
files_path = path + "/keywords_logging/文件名.log" # 路径+设定的日志文件名 # 设置日志
keyword_expect_debug = logging.FileHandler(files_path, 'a', encoding='utf-8')
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
keyword_expect_debug.setFormatter(fmt) keyword_debug = logging.Logger('keyword_debug', level=logging.DEBUG)
keyword_debug.addHandler(keyword_expect_debug) # 定义文件日志
form 文件 import keyword_debug
try:
a = a + 1
except Exception as e:
msg = traceback.format_exc()
logging_main.keyword_debug.debug(msg)

【python小随笔】Django+错误日志(配置Django报错文件指定位置)的更多相关文章

  1. django 自定义日志配置

    如果不想使用 python 的 dictConfig 格式来配置 logger,可以制定自己的配置架构. LOGGING_CONFIG 配置定义了用来配置 django logger 的可调用函数,默 ...

  2. DJango错误日志生成

    DJango错误日志生成 setting.py设置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': ...

  3. Nginx 错误日志配置

    1.Nginx错误日志信息介绍: error_log的语法格式及参数说明: error_log      file         level; 关键字    日志文件   错误日志级别 其中,关键字 ...

  4. Django 自定义标签与过滤器报错 No module named 'templatetags'

    Django 自定义标签与过滤器报错 按照网上的教程如果想使用自定义的标签与过滤器就得往settings.py中添加下列数据 TEMPLATES = [ { 'BACKEND': 'django.te ...

  5. supervisor + celery 的简单配置与报错处理

    ubuntu服务器下使用 supervisor 和 celery supervisor 的卸载过程: sudo apt purge supervisor whereis supervisord如果有用 ...

  6. ubuntu 配置jdk报错解决办法

    vi /etc/profile ,添加如下代码 export JAVA_HOME=/home/mark/android/jdk1.8 export JRE_HOME=/home/mark/androi ...

  7. PHP配置Configure报错:Please reinstall the libzip distribution

    PHP配置Configure报错:Please reinstall the libzip distribution 发生情景: php执行配置命令configure时,报如下错误: checking ...

  8. Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"

    Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"     出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./co ...

  9. linux配置docker报错:ImportError: No module named yum

    如题,安装docker后配置仓库报错: [root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux ...

随机推荐

  1. springmvc-环境配置-架构-配合mybatis-参数绑定

    1.1. Spring入门 1.1.1. Springmvc是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得 ...

  2. VC窗体透明而控件不透明以及Static文本背景透明方法

    出自http://my.oschina.net/ypimgt/blog/60951 优点:    1.Dialog 窗体完全透明.     2. 窗体上的控件不透明. DC 绘制的图形不透明.     ...

  3. CAS(客户端)程序获取安全证书

    以下是获取安全证书的一种方法,通过以下程序获取安全证书: import java.io.BufferedReader; import java.io.File; import java.io.File ...

  4. 在AlexNet中LRN 局部响应归一化的理

    在AlexNet中LRN 局部响应归一化的理 一.LRN技术介绍: Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法.其中caffe ...

  5. Spring MVC 返回 xml json pdf 数据的配置方法

    <!-- Spring MVC 返回 xml 数据的配置方法 -->     <bean class="org.springframework.web.servlet.vi ...

  6. Luogu P4933 大师(dp)

    P4933 大师 题意 题目背景 建筑大师最近在跟着数学大师ljt12138学数学,今天他学了等差数列,ljt12138决定给他留一道练习题. 题目描述 ljt12138首先建了\(n\)个特斯拉电磁 ...

  7. get请求中文乱码

    get请求时要将url进行encodeURI http://www.ruanyifeng.com/blog/2010/02/url_encoding.html http://www.ruanyifen ...

  8. 【DM8168学习笔记5】EZSDK目录结构

    EZSDK5.02的目录结构与之前的版本不同,之前的版本各个组件都放在/ezsdk目录下,5.02做了整合. 之前版本:(图片摘自:3.DM816x_1-day_Workshop-Getting_St ...

  9. oracle基础学习(1)

    -解锁用户,需要使用dba权限conn sys/1234 as dba; alert user scott account unlock;/ --initcap方法,实现字符串首字符大写,其余字符小写 ...

  10. PetaPoco 基础操作

    //初始化数据库连接 var db=new PetaPoco.Database("connectionStringName"); //查询单个值 long count=db.Exe ...