2014-02-13 79 views
0

我想开始使用Django和作为第一toyproject我使用的功能来发送电子邮件和记录在现有的应用程序使用Django登录

这里有一个小的脚本:

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") 

import logging 
logger = logging.getLogger("myLogger") 
logger.debug("A") 
logger.info("B") 
logger.error("C") 

我settings.py坐在非常相同的文件夹中存在下面的代码片断:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'handlers': { 
     'file': { 
      'level': 'DEBUG', 
      'class': 'logging.FileHandler', 
      'filename': 'tmp//debug.log', 
     }, 
    }, 
    'loggers': { 
     'myLogger': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
      'propagate': True, 
     }, 
    }, 
} 

当执行(运行脚本,没有涉及Django的服务器)它产生出把

没有处理程序可以发现记录器“myLogger”

有何评论?我可以使用标准的记录,但我怀疑的是,我在这里的东西,而根本...

托马斯

+0

它可能是无关紧要的,但是(双斜杠)你的路径正确的日志文件? – Ambroise

+0

删除它没有区别... – tschm

+0

请参阅“写一个自定义管理命令,而不是单独的脚本附近manage.py https://docs.djangoproject.com/en/dev/howto/custom-management-commands/它的日志工程罚款管理命令。“ http://stackoverflow.com/questions/15340516/django-logging-in-script-near-manage-py-messages-are-just-ignored – fragles

回答

1

尝试配置日志喜欢的Django:

Django的1.6:

from django.conf import settings 
settings.configure() 

For 1.7:

from django.conf import settings 
from django.utils.log import configure_logging 

configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) 
+0

有趣的是,我想我正在使用Django 1.6。我没有在Django.utils.log中配置日志。 – tschm

+0

进口OS os.environ.setdefault( “DJANGO_SETTINGS_MODULE”, “设置”) 从django.conf导入设置 从django.utils.log进口dictConfig dictConfig(settings.LOGGING) – tschm

+0

@tschm行动!你对了。编辑回应。 – pbacterio

2

感谢pbacterio,那是一个宝进入正确的方向。这适用于我

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") 

from django.conf import settings 
from django.utils.log import dictConfig 

dictConfig(settings.LOGGING)