`

在django中使用logging

阅读更多
django中似乎没有专门支持logging的module。想在自己开发程序中使用一下log功能,记录访问情况,和输入debug的一些信息。于是google到一段代码,使用的python的标准库logging,目前工作还算正常.

http://djangosnippets.org/snippets/16/

import logging
import threading

from django.conf import settings

_LOCALS = threading.local()

def getlogger():
    logger = getattr(_LOCALS, 'logger', None)
    if logger is not None:
        return logger
    
    logger = logging.getLogger()
    hdlr = logging.FileHandler(settings.LOG_FILE)
    formatter = logging.Formatter('[%(asctime)s]%(levelname)-8s"%(message)s"','%Y-%m-%d %a %H:%M:%S') 
    
    hdlr.setFormatter(formatter)
    logger.addHandler(hdlr)
    #logger.setLevel(logging.NOTSET)
    logger.setLevel(getattr(settings, 'LOG_LEVEL', logging.NOTSET))
    setattr(_LOCALS, 'logger', logger)
    
    return logger

def debug(msg):
    logger = getlogger()
    logger.debug(msg)


将代码保存为myproj/log.py,只需在相应程序文件中import该myproj.log,通过getlogger()获得一个obj即可使用。

import myproj.log
logger = myproj.log.getlogger()
logger.debug("Debug information")


Python标准模块loggin的使用

未完待续。。。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics