0

AWS (Elastic beantalk) で実行されているアプリの集中型ログ アグリゲーターを使用するために、Logglyを使用しています。ただし、Python ロギング ライブラリと django ロギング構成を使用してアプリケーション ログを保存できません。Loggly コントロール パネルで、基盤となる OS と EC2 インスタンスのソフトウェア スタックからの多くのログを確認できますが、アプリからの特定のログが表示されず、その理由がわかりません。EC2 インスタンスで RSYSLOG を構成して (Loggly 自体が提供する自動化された python スクリプトを使用して) Loggly を構成し、django 設定で次のように定義しました。

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format': '[%(asctime)s] [%(levelname)s] [%(name)s:%(lineno)s] %(message)s',
            'datefmt': '%d/%b/%Y %H:%M:%S'
        },
        'loggly': {
            'format': 'loggly: %(message)s',
        },
    },
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler',
            'formatter': 'standard',
        },
        'syslog': {
            'level': 'INFO',
            'class': 'logging.handlers.SysLogHandler',
            'facility': 'local5',
            'formatter': 'loggly',
        },
        'cygora': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/cygora.log',
            'maxBytes': 1024 * 1024 * 5, # 5 mb
            'backupCount': 10,
            'formatter': 'standard',
        },
        'django': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/django.log',
            'maxBytes': 1024 * 1024 * 5, # 5 mb
            'backupCount': 10,
            'formatter': 'standard',
        },
        'celery': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/celery.log',
            'maxBytes': 1024 * 1024 * 5, # 5 mb
            'backupCount': 10,
            'formatter': 'standard',
        },
    },
    'loggers': {
        'loggly': {
            'handlers': ['syslog'],
            'propagate': True,
            'format': 'loggly: %(message)s',
            'level': 'DEBUG',
        },
        'django': {
            'handlers': ['syslog', 'django'],
            'level': 'WARNING',
            'propagate': True,
        },
        'django.db.backends': {
            'handlers': ['syslog', 'django'],
            'level': 'INFO',
            'propagate': True,
        },
        'django.request': {
            'handlers': ['syslog', 'mail', 'django'],
            'level': 'INFO',
            'propagate': True,
        },
        'celery': {
            'handlers': ['syslog', 'mail', 'celery'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'com.cygora': {
            'handlers': ['syslog', 'cygora'],
            'level': 'INFO',
            'propagate': True,
        },
    }
}

私のクラスでは、モジュールレベルのロガーを持つ「標準」アプローチを使用しています。

import logging
logger = logging.getLogger(__name__)
logger.info('This message is not displayed on Loggly!! :(')

しかし、それは機能しません。

import logging
logger = logging.getLogger('loggly')
logger.info('This message is not displayed on Loggly!! :(')

何か案が?(RSYSLOGでDjango + Logglyを使用している人はいますか)

4

2 に答える 2

1

ググって、loggly のサポートに関するあなたの投稿を見ました。彼らの返信を見て、役に立ちましたか?

http://community.loggly.com/customer/portal/questions/5898190-django-loggly-app-logs-not-saved

于 2014-03-20T08:51:10.433 に答える