Apache2上でDjangoを動かしている場合のログ設定についての質問です。
●環境
- Ubuntu 18.04.1 LTS
- Python 3.6.8
- Django 2.2.4
- Apache/2.4.29 (Ubuntu)
上記環境でDjangoを動かしています。
/etc/apache2/sites-available/django.confでApache2のログ設定を以下のように行っています。
CustomLog /var/log/apache2/projectName/access.log combined ErrorLog /var/log/apache2/projectName/error.log
/var/log/apache2/projectName以下にアクセスログとエラーログが正しく出力されており、設定したログローテーション通りにローテーションされています。
一方で、Djangoのsettings.pyにDjangoのログ設定をしたところ、うまくロギングされません。
LOGGING = { 'version': 1, 'disable_existing_loggers':False, 'formatters':{ 'production': { 'format': '%(asctime)s [%(levelname)s] %(process)d %(thread)d ' '%(pathname)s:%(lineno)d %(message)s' }, }, 'handlers':{ 'file': { 'level': 'DEBUG', 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': '/var/log/{}/app.log'.format(PROJECT_NAME), 'when': 'D', 'interval': 1, 'backupCount': 7, 'formatter': 'production', }, }, 'loggers': { '': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': False, }, 'django': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': False, }, }, }
上記の設定を追加しても、/var/log/projectName/以下にログが出力されない状況です。パーミッションエラーは出ていないため、パーミッションで弾かれているわけではないように思います。。。
Apache2でDjangoを動かすときには、上記のsettings.pyにおけるログ設定は無効になるのでしょうか?
正しくDjangoのログを出力させるにはどの項目を修正すれば良いのでしょうか?
ご教示いただけますと幸いです。よろしくお願いいたします。
あなたの回答
tips
プレビュー