如何在Django Python

时间:2017-06-26 08:05:54

标签: python django

我是python和Django的新手,所以如果你能提供一个解决方案,其中包含更多细节和解释。
我使用的是python 2.7.9,Django< 1,11,2,u'final',0>
我在VS2015开始了一个Django项目 我想打印日志到文件
我将以下代码添加到settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'null': {
            'level':'DEBUG',
            'class':'logging.NullHandler',
        },
        'logfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': "./logfile",
            'maxBytes': 50000,
            'backupCount': 2,
            'formatter': 'standard',
        },
        'console':{
            'level':'INFO',
            'class':'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    'loggers': {
        'django': {
            'handlers':['console'],
            'propagate': True,
            'level':'WARN',
        },
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'MYAPP': {
            'handlers': ['console', 'logfile'],
            'level': 'DEBUG',
        },
    }
}

我将以下代码添加到views.py

import logging
logger = logging.getLogger(__name__)
def hello_world(request):
    logger.error('Testing error log')
    return render(request, 'hello_world.html', {
        'current_time': str(datetime.now()),
    })

问题是生成了名为logfile的文件,但文件中没有任何内容。
我的项目是这样的:enter image description here

1 个答案:

答案 0 :(得分:1)

如评论中所述:

  

你的项目名为'MYAPP'?如果没有,请用名称替换   项目/模块名称将开始工作。代码似乎很好。

您的项目似乎名为TryDjangoWebProject,但根模块名为app,您可以使用它。