Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TimedRotatingFileHandler不';在Django中使用多实例无法正常工作_Python_Django_Logging - Fatal编程技术网

Python TimedRotatingFileHandler不';在Django中使用多实例无法正常工作

Python TimedRotatingFileHandler不';在Django中使用多实例无法正常工作,python,django,logging,Python,Django,Logging,我使用TimedRotatingFileHandler记录Django日志并每天轮换,但检查日志文件,奇怪的问题是昨天的日志被截断,记录了很少今天的日志,昨天的日志丢失了 Django 1.4 uwsgi 1.4.9 Python 2.6 我用uwsgi启动8个django实例。设置为.py 'handlers': { 'apilog': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotating

我使用TimedRotatingFileHandler记录Django日志并每天轮换,但检查日志文件,奇怪的问题是昨天的日志被截断,记录了很少今天的日志,昨天的日志丢失了

Django 1.4
uwsgi 1.4.9
Python 2.6

我用uwsgi启动8个django实例。设置为.py

'handlers': {
    'apilog': {
        'level': 'INFO',
        'class': 'logging.handlers.TimedRotatingFileHandler',
        'filename': os.path.join(APILOG, "apilog.log" ),
        'when': 'midnight',
        'formatter': 'info',
        'interval': 1,
        'backupCount': 0,
    },
 },
 'loggers': {                                                                                                                        
    'apilog': {
        'handlers': ['apilog'],
        'level': 'INFO',
        'propagate': True  
     },
  }

我错过什么了吗?为什么旧的日志会丢失?

您不应该同时从多个进程登录到基于文件的处理程序-这是不受支持的,因为没有可移植操作系统支持它

要从多个进程登录到单个目标,可以使用以下方法之一:

  • 使用类似
  • 在Windows上使用
    SysLogHandler
    (或
    NTEventLogHandler
  • 使用
    SocketHandler
    ,它将日志发送到一个单独的进程以写入文件
  • 如前所述,将
    QueueHandler
    多处理.Queue
    一起使用

是否有定时旋转和并发日志处理程序?