-1
NGINX + Gunicorn + Django + RQのアーキテクチャをいくつかのrq-workersとともに使用しています。作成されたファイルは、時には非常に小さいNGINX/Gunicorn/Django-RQ:各rq-workerを別のファイルに記録する方法
- - 代わりに定義された2メガバイトの数バイト: 私たちは、ロールオーバーおよび最大ファイルサイズで、(次の)基本的なDjangoのロギング設定を使用しますが、。
- 番号ロールオーバーファイルは、定義されているものとは異なります。
質問:
a。実際のファイル作成数とサイズが異なる理由は何ですか?
b。ロールオーバーと最大ファイルサイズのポリシーを使用して、django rq-workerの各ログを別のファイルに保存することはできますか?
私たちのログ設定:
LOG_FILE_MAX_SIZE_MB = int(os.environ.get('log_file_max_size_mb', 1))
LOG_FILES_ROTATE_NUM = int(os.environ.get('log_files_rotate_num', 8))
log_file_dir = os.path.dirname(LOG_FILE_FULL_PATH)
if not os.path.exists(log_file_dir):
os.makedirs(log_file_dir, 0777)
DATE_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
VERBOSE_LINE_FORMAT = '%(asctime)s - %(levelname)s - %(process)d - %(thread)d - %(filename)s - %(message)s'
SIMPLE_LINE_FORMAT = '[%(levelname)-7s] %(asctime)s - %(message)s'
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': VERBOSE_LINE_FORMAT,
'datefmt': DATE_TIME_FORMAT
},
'simple': {
'format': SIMPLE_LINE_FORMAT,
'datefmt': DATE_TIME_FORMAT
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'fat_app_logfile': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'maxBytes': 1024*1024*LOG_FILE_MAX_SIZE_MB,
'backupCount': LOG_FILES_ROTATE_NUM,
'filename': LOG_FILE_FULL_PATH,
'formatter': 'verbose'
},
'rq_app_logfile': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'maxBytes': 1024*1024*LOG_FILE_MAX_SIZE_MB,
'backupCount': LOG_FILES_ROTATE_NUM,
'filename': LOG_FILE_FULL_PATH,
'formatter': 'verbose'
},
},
'loggers': {
'MainLogger': {
'handlers': ['console', 'fat_app_logfile'],
'propagate': True,
'level': 'DEBUG',
},
'rq_scheduler': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
}
はあなたに
私が稼働してConcurrentRotatingFileHandlerを得たが、それでも唯一の主要プロセスのログ出力を見て。 –