Django:如何使日志记录正常工作?

3 投票
1 回答
1196 浏览
提问于 2025-04-15 22:45

我在我的settings.py文件中添加了以下内容:

import logging
...
logging.basicConfig(level=logging.DEBUG,
    format='%(asctime)s %(levelname)s %(message)s',
    filename=os.path.join(rootdir, 'django.log'),
    filemode='a+')

然后在views.py中,我添加了:

import logging
log = logging.getLogger(__name__)
...
log.info("testing 123!")

可惜的是,没有生成任何日志文件。你们觉得我哪里做错了吗?还有没有更好的方法可以用来记录日志?我是在Webfaction上操作的。

1 个回答

2

在像Webfaction这样的地方,Django的Python日志功能还不错。如果你在一个云服务提供商上,比如亚马逊的EC2,那里有很多服务器,那么可以考虑把日志记录到键值数据库,或者通过网络使用Python日志。

你在settings.py中的日志设置代码看起来没问题,但我建议你检查一下是否能写入rootdir。你的系统日志可能会显示错误,但更有可能的是,如果Django无法正常记录日志,它会抛出500错误。

这让我想起我在WebFaction上的日志设置,唯一的主要区别是我使用:

import logging
logging.info("Something here") 

而不是log.info

撰写回答