Django日志文件权限

时间:2015-08-20 13:56:33

标签: python django apache logging

我有一个带记录器的django项目。日志文件变得非常快。以下是记录器的设置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
        "post_office": {
            "format": "[%(levelname)s]%(asctime)s PID %(process)d: %(message)s",
            "datefmt": "%d-%m-%Y %H:%M:%S",
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/opt/bitnami/djangocms_projects/bell_cms/Bell_cms.log',
            'maxBytes': 1024*5, # 5 MB
            'formatter': 'verbose'
        },
        "post_office": {
            "level": "DEBUG",
            "class": "logging.StreamHandler",
            "formatter": "post_office"
        },
    },
    'loggers': {
        'django': {
            'handlers':['file'],
            'propagate': True,
            'level':'DEBUG',
        },
        'scheduler_app': {
            'handlers': ['file'],
            'level': 'DEBUG',
        },
        "post_office": {
            "handlers": ["post_office"],
            "level": "INFO"
        },
    }
}

我有2个问题,首先文件没有与logging.handlers.RotatingFileHandler分开。例如,现在它是330 MiB。其次,如果我在哪里擦除文件并让django重新创建它,我的apache服务器会崩溃说它没有对日志文件的权限。该文件具有root所有权。有没有办法让它在用户的所有权下创建文件(因此默认情况下可以读取apache)或者是否有办法自动为此文件授予某些权限。现在我的修复是删除,chmod 777该文件并重新启动apache。

0 个答案:

没有答案