我有一个在 Django 中运行的站点。前端是 lighttpd 并使用 fcgi 来托管 django。
我按如下方式启动我的 fcgi 进程:
python2.6 /<snip>/manage.py runfcgi maxrequests=10 host=127.0.0.1 port=8000 pidfile=django.pid
对于日志记录,我有一个 RotatingFileHandler 定义如下:
file_handler = RotatingFileHandler(filename, maxBytes=10*1024*1024, backupCount=5,encoding='utf-8')
日志记录正在工作。但是,当文件甚至没有达到 10Kb,更不用说 10Mb 时,它们看起来就像在旋转。我的猜测是每个 fcgi 实例只处理 10 个请求,然后重新生成。fcgi 的每次重生都会创建一个新文件。我确认 fcgi 每隔一段时间就会在新的进程 ID 下启动(很难准确说出时间,但不到一分钟)。
有没有办法解决这个问题?我希望所有 fcgi 实例都记录到一个文件,直到达到大小限制,此时将发生日志文件轮换。