Maison  >  Questions et réponses  >  le corps du texte

python - django记录访问到日志文件中

我需要把用户的日志访问日志到文件中,我在setting.py中做了以下处理。

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
        'log': {
            'format': '%(levelname)s %(asctime)s %(message)s'
        }
    },
    'handlers': {
        'null': {
            'level': 'DEBUG',
            'class': 'logging.NullHandler',
        },
        'console': {
            'class': 'logging.StreamHandler',
        },
        'file': {
            'level': 'INFO',
            'class': 'api.Handler.FileHandler', #自定义的类
            'filename': '/var/log/django.log',
            'formatter': 'ndautolog'
        }
    },
    'loggers': {
        #default
        '': {
            'handlers': ['console'],
            'level': 'DEBUG',
        },
        'django': {
            'handlers': ['console'],
            'propagate': True,
            'level': 'INFO',
        },
        'django.request': {
            'handlers': ['console', 'file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

然后在日志中只获取到了warn或更高级别的错误:

WARNING 2016-07-29 15:38:09,901 Not Found: /web/xxxxxx/ post:{
    "check_cmd":"ps -ef |grep xxxxx.xxxx.com|grep nginx |grep -v grep",
    "cmd":"/usr/local/tomcat/xxxxxx.xxxx.com/startup/run.sh",
    "boss_key":"33333333333333333"
}
WARNING 2016-07-29 15:38:09,901 Not Found: /web/xxxxxx/ post:{
    "check_cmd":"ps -ef |grep xxxxx.xxxx.com|grep nginx |grep -v grep",
    "cmd":"/usr/local/tomcat/xxxxxx.xxxx.com/startup/run.sh",
    "boss_key":"33333333333333333"
}
WARNING 2016-07-29 15:38:09,901 Not Found: /web/xxxxxx/ post:{
    "check_cmd":"ps -ef |grep xxxxx.xxxx.com|grep nginx |grep -v grep",
    "cmd":"/usr/local/tomcat/xxxxxx.xxxx.com/startup/run.sh",
    "boss_key":"33333333333333333"
}

我试过在django''中加入'handlers': ['console', 'file'],,但保存的信息不是我要的:

INFO 2016-07-29 15:29:03,888 Scheduler started
DEBUG 2016-07-29 15:29:03,890 Looking for jobs to run
DEBUG 2016-07-29 15:29:03,890 No jobs; waiting until a job is added

这让人很苦恼。

PHP中文网PHP中文网2741 Il y a quelques jours287

répondre à tous(1)je répondrai

  • 怪我咯

    怪我咯2017-04-18 09:18:20

    En fait, vous n'avez pas besoin de laisser le travail de journalisation au projet
    Laissez simplement nginx le soin de le gérer. Configurez access_log de nginx, et tous les accès seront enregistrés

    .

    répondre
    0
  • Annulerrépondre