Python日志功能在Django中的应用

1.python代码实现完整的日志功能

需求:
	1)要求将所有级别的所有日志都写入磁盘文件中
	2)all.log文件中记录所有的日志信息,日志格式为:日期和时间 - 日志级别 - 日志信息
	3)error.log文件中单独记录error及以上级别的日志信息,日志格式为:日期和时间 - 日志级别 - 文件名[:行号] - 日志信息
	4)要求all.log在每天凌晨进行日志切割

代码实现:

import logging
import logging.handlers
import datetime

logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)

rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))

f_handler = logging.FileHandler('error.log')
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))

logger.addHandler(rf_handler)
logger.addHandler(f_handler)

logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')

all.log文件输出

2018-05-13 16:12:40,612 - DEBUG - debug message
2018-05-13 16:12:40,612 - INFO - info message
2018-05-13 16:12:40,612 - WARNING - warning message
2018-05-13 16:12:40,612 - ERROR - error message
2018-05-13 16:12:40,613 - CRITICAL - critical message

error.log文件输出

2018-05-13 16:12:40,612 - ERROR - log.py[:81] - error message
201-05-13 16:12:40,613 - CRITICAL - log.py[:82] - critical message

2. 日志在django中的应用的三种方式

1.直接在settings.py中配置
#########################
## Django Logging  BEGIN
#########################

#LOGGING_DIR 日志文件存放目录
LOGGING_DIR = "/home/xxt/logs"
if not os.path.exists(LOGGING_DIR):
    os.mkdir(LOGGING_DIR)

import logging

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format': '
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值