python,django的logging设置

参考url1:

http://wiki.jikexueyuan.com/project/django-chinese-docs-1.8/13-3-logging.html

参考url2:

https://blog.csdn.net/Hallo_ween/article/details/64906838

demo代码:

views.py代码:

LOGGER = logging.getLogger("sqlApply")
LOGGER.error('{e.__class__.__name__}: {e}')

settings.py:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,    #务必设置成False,否则loggers无效。
    'formatters': {    #格式
        'verbose': {
            'format': '[argus] %(levelname)s %(asctime)s %(module)s %(message)s'
        }
    },
    'handlers': {    #输出方式
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            'formatter': 'verbose'
        },
    'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/path/to/django/debug.log',
        },
    },
    'loggers': {    #views中加载的对象,可包含多种输出方式。
        'asset': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': True,    #True:这个logger的输出会朝着上一级logger传播.False则不传播。
        },
    'django.db.backends': {  #开发或sql优化阶段,建议开启,查查看具体sql。
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),    #DEBUG级别将包含django的sql。
        },


    },
}
Logger 为日志系统的入口。每个logger 是一个具名的容器,可以向它写入需要处理的消息。
Logger 可以有多个handler,而每个handler 可以有不同的日志级别。利用这种方式,可以根据消息的重要性提供不同形式的处理。例如,你可以用一个handler 将ERROR 和 CRITICAL 消息发送给一个页面服务,而用另外一个hander 将所有的消息(包括 ERROR 和CRITICAL 消息)记录到一个文件中用于以后进行分析。

propagate:
ogger = logging.getLogger('project.interesting.stuff')
点号分隔的logger 名称定义一个层级。project.interesting logger 被认为是 project.interesting.stuff logger 的上一级;project logger 是project.interesting logger 的上一级。

层级为何如此重要?因为可以设置logger _传播_它们的logging 调用给它们的上一级。利用这种方式,你可以在根logger 上定义一系列的handler,并捕获子logger 中的所有logging 调用。在project命名空间中定义的handler 将捕获project.interesting 和project.interesting.stuff logger 上的所有日志消息。

这种传播行为可以基于每个logger 进行控制。如果你不想让某个logger 传播消息给它的上一级,你可以关闭这个行为。


django.db.backends

与数据库交互的代码相关的消息。例如,HTTP请求执行应用级别的SQL 语句将以DEBUG 级别记录到该logger。
这个logger 的消息具有以下额外的上下文:
duration:执行SQL 语句花费的时间。
sql:执行的SQL 语句。
params:SQL 调用中用到的参数。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值