简体   繁体   中英

Django. Log rotation with multiple instances running

We have trouble with django logs rotation.

Log handlers settings:

'handlers': {
    'null': {
        'level':'DEBUG',
        'class':'django.utils.log.NullHandler',
    },
    'some':{
        'formatter': 'simple',
        'filename':'%s/log/some.log' % (PROJECT_ROOT, ),
        'level':'DEBUG',
        'class':'logging.handlers.RotatingFileHandler',
        'maxBytes': 1024*1024*5, # 5 MB
        'backupCount': 5,
    }
}

Results in logs:

drwxr-xr-x  2 webserver webserver      4096 Apr 25 11:43 .
drwxr-xr-x 29 webserver webserver      4096 Apr 24 20:58 ..
-rw-r--r--  1 webserver webserver        35 Apr 25 03:58 some.log
-rw-r--r--  1 webserver webserver        30 Apr 25 03:58 some.log.1
-rw-r--r--  1 webserver webserver        30 Apr 25 03:57 some.log.2
-rw-r--r--  1 webserver webserver        35 Apr 25 03:57 some.log.3
-rw-r--r--  1 webserver webserver        35 Apr 25 03:05 some.log.4
-rw-r--r--  1 webserver webserver       631 Apr 25 03:05 some.log.5

Only one record goes in log, and after it log rotates. Why handlers rotates log so fast? Where to dig? We have more than one django instance running on server. Before we had one huge log file.

Just to be sure there's only one process writing to those files, set the log file name to

'%s/log/some-%s.log' % (PROJECT_ROOT, os.getpid())

and post what you find.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM