Django 中使用 logging 配置 logger 自定义日志输出

在使用 django 开发过程中,默认的日志输出是不能满足我们去排查问题的,往往需要自定义的日志输出,帮助我们去排查程序BUG,定位问题原因。

在使用 django 的开发过程中,我使用的是 python 内置日志模块 logging
logging 的详细使用讲解我就不多说了,度娘一抓一大抓;我只记录下我在 django settings 中的 logger 配置。方便以后使用

以下在我在 settings 中定义的 logger:
# Custom output log

LOGGING = {
‘version‘: 1,
‘disable_existing_loggers‘: True,
‘formatters‘: {
‘standard‘: {
‘format‘: ‘%(asctime)s %(levelname)s %(pathname)s %(module)s.%(funcName)s %(lineno)d: %(message)s‘
},
},
‘filters‘: {
‘require_debug_true‘: {
‘()‘: ‘django.utils.log.RequireDebugTrue‘,
},
‘require_debug_false‘: {
‘()‘: ‘django.utils.log.RequireDebugFalse‘,
}
},
‘handlers‘: {
‘mail_admins‘: {
‘level‘: ‘ERROR‘,
‘class‘: ‘django.utils.log.AdminEmailHandler‘,
‘formatter‘: ‘standard‘
},
‘file_handler‘: {
‘level‘: ‘DEBUG‘,
‘filters‘: [‘require_debug_false‘],
‘class‘: ‘logging.handlers.TimedRotatingFileHandler‘,
‘filename‘: os.path.join(BASE_DIR, ‘logs/ops.log‘),
‘formatter‘: ‘standard‘
},
‘console‘: {
‘level‘: ‘INFO‘,
‘filters‘: [‘require_debug_true‘],
‘class‘: ‘logging.StreamHandler‘,
‘formatter‘: ‘standard‘
},
},
‘loggers‘: {
‘django‘: {
‘handlers‘: [‘console‘, ‘file_handler‘],
‘level‘: ‘DEBUG‘,
‘propagate‘: True,
},
‘django.request‘: {
‘handlers‘: [‘mail_admins‘],
‘level‘: ‘ERROR‘,
‘propagate‘: False,
},
}
}

使用的话很简单,在代码文件最上面加上下面两行代码就行:
import logging
logger = logging.getLogger(‘django‘)”

现在就可以使用了
logger.info(‘message‘)
logger.error(‘message‘)
logger.warn(‘message‘)
logger.debug(‘message‘)

原文地址:http://blog.51cto.com/784687488/2173733

时间: 2024-10-29 13:15:06

Django 中使用 logging 配置 logger 自定义日志输出的相关文章

JAVA中自定义日志输出到指定文件

虽然JAVA日志包提供的功能已经很方便,但是假如我们有新的需求如:将日志文件保存到我们希望的位置并在日志文件名中添加日期且保存指定时间内的日志文件:按照自己希望的格式输出日志内容.对于这些需求我们只要扩展java.util.logging.StreamHandler(Handler的子类),java.util.logging.Formatter创建自定义的处理器及格式化器即可以实现.下面是个例子,它分别创建了Handler及Formatter的子类,以便实现将日志文件保存到我们需要的位置,及在日

Django中的URL配置和模板

Django中的URL配置 : 实例: Python代码   urlpatterns = patterns('', # Example: # (r'^myweb/', include('myweb.foo.urls')), # Uncomment the admin/doc line below and add 'django.contrib.admindocs' # to INSTALLED_APPS to enable admin documentation: # (r'^admin/doc

postgresql数据库配置csv格式日志输出

postgresql数据库配置csv格式日志输出 下面介绍postgresql数据库中关于csv格式日志(pg中一种比较详细的日志输出方式)的设置方法. 1.进入$PGDATA目录(pg的安装目录,根据具体情况名称有所区别)下找到配置文件postgresql.conf 2.开启csvlog输出功能: #开启csvlog输出功能(默认为off) logging_collector = on 注:修改完logging_collector后需要重启数据库(当然你也可以继续配置,在所有配置都完成后再重启

Django框架 之 logging配置

logging配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 8

Django中的logging

对网站.微服务来说,log(日志)是比较重要的运维工具. Django的log,主要是复用Python标准库中的logging模块,在settings.py中进行配置. 此外,也提供了一些独特的扩展. settings.py TIME_ZONE = 'Asia/Shanghai' LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { #有这个配置在,可以不用修改系统的配置 'verbose': {

django中url路由配置及渲染方式

今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件  from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来

JAVA中使用log4j及slf4j进行日志输出的方法

JAVA中输出日志比较常用的是log4j,这里讲下log4j的配置和使用方法,以及slf4j的使用. 一.下载log4j的架包,并导入项目中,如下: 二.创建log4j.properties配置文件 1.log4j配置文件的位置: (1)如果是java project项目,则在项目的根目录下创建log4j.properties而不是在src目录下. (2)如果是java web项目,则在src目录下创建log4j.properties配置文件,因为这个时候tomcat会去默认的加载这个配置文件,

HAproxy增加日志记录功能和自定义日志输出内容、格式

一.增加haproxy日志记录功能 1.1 由于数据分析的需要,我们必须打开haproxy日志,记录相关信息. 在配置前,我们先来了解一下日志的level:local0-local7 16-23保留为本地使用 emerg 0 系统不可用     alert 1 必须马上采取行动的事件     crit 2 关键的事件     err 3 错误事件     warning 4 警告事件     notice 5 普通但重要的事件     info 6 有用的信息     debug 7 调试信息

django中的admin组件之自定义组件

内容回顾: 一 admin的使用 app01的admin.py文件:                  class BookConfig(admin.ModelAdmin):               list_display=[]               list_display_links=[]               list_filter=[]               search_fields=[]                              def pat