Django:如何将每个应用程序记录到一个单独的文件中

我在 settings.py 文件中有我的 Django 日志定义,如下所示:


LOG_DIR = '/var/log/myapp/'

LOGGING = {

    'version': 1,

    'disable_existing_loggers': True,

    'formatters': {

        'standard': {

            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",

            'datefmt' : "%d/%b/%Y %H:%M:%S"

        },

    },

    'handlers': {

        'null': {

            'level':'DEBUG' if DEBUG else 'WARNING',

            'class':'logging.NullHandler',

        },

        'logfile': {

            'level':'DEBUG' if DEBUG else 'WARNING',

            'class':'logging.handlers.RotatingFileHandler',

            'filename': LOG_DIR + "/application.log",

            'maxBytes': 1024 * 1024 * 10, #Max 10MB

            'backupCount': 3,

            'formatter': 'standard',

        },

        'console':{

            'level':'INFO',

            'class':'logging.StreamHandler',

            'formatter': 'standard'

        },

    },

    'loggers': {

        'django': {

            'handlers':['console'],

            'propagate': True,

            'level':'WARN',

        },

        'django.db.backends': {

            'handlers': ['console'],

            'level': 'DEBUG' if DEBUG else 'WARNING',

            'propagate': False,

        },

        '': {

            'handlers': ['console', 'logfile'],

            'level': 'DEBUG',

        },

    }

}

现在,我在这个项目中有几个应用程序,我必须以一种简单的方式组织它们的日志记录,相互创建一个单独的日志,我的意思是:

  • 项目一般日志

  • My_App1 日志

  • My_App2 日志

  • My_App3 日志

这可以通过 Django 以简单的方式实现吗?


慕工程0101907
浏览 222回答 1
1回答

临摹微笑

在“记录器”下,您需要为每个应用程序输入一个条目:'app1': {            'handlers': ['app1'],        },同样在“处理程序”下:'app1': {        'level':'DEBUG' if DEBUG else 'WARNING',        'class':'logging.handlers.RotatingFileHandler',        'filename': LOG_DIR + "/app1.log",        'maxBytes': 1024 * 1024 * 10, #Max 10MB        'backupCount': 3,        'formatter': 'standard',},
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python