|
11 | 11 | """ |
12 | 12 |
|
13 | 13 | import importlib |
14 | | -import json |
| 14 | +import logging |
15 | 15 | import os |
16 | 16 | import warnings |
17 | 17 | from datetime import datetime, time, timedelta |
18 | 18 | from typing import Any |
19 | 19 |
|
20 | 20 | import dj_database_url |
21 | 21 | import django_stubs_ext |
22 | | -import prometheus_client |
23 | 22 | import pytz |
24 | 23 | from common.core import ReplicaReadStrategy |
25 | 24 | from corsheaders.defaults import default_headers # type: ignore[import-untyped] |
|
610 | 609 | CHARGEBEE_API_KEY = env("CHARGEBEE_API_KEY", default=None) |
611 | 610 | CHARGEBEE_SITE = env("CHARGEBEE_SITE", default=None) |
612 | 611 |
|
613 | | -# Logging configuration |
614 | | -ACCESS_LOG_EXTRA_ITEMS = env.list("ACCESS_LOG_EXTRA_ITEMS", subcast=str, default=[]) |
615 | | -LOGGING_CONFIGURATION_FILE = env.str("LOGGING_CONFIGURATION_FILE", default=None) |
616 | | -if LOGGING_CONFIGURATION_FILE: |
617 | | - with open(LOGGING_CONFIGURATION_FILE, "r") as f: |
618 | | - LOGGING = json.loads(f.read()) |
619 | | -else: |
620 | | - LOG_FORMAT = env.str("LOG_FORMAT", default="generic") |
621 | | - LOG_LEVEL = env.str("LOG_LEVEL", default="WARNING") |
622 | | - LOGGING = { |
623 | | - "version": 1, |
624 | | - "disable_existing_loggers": False, |
625 | | - "formatters": { |
626 | | - "generic": {"format": "%(name)-12s %(levelname)-8s %(message)s"}, |
627 | | - "json": { |
628 | | - "()": "util.logging.JsonFormatter", |
629 | | - "datefmt": "%Y-%m-%d %H:%M:%S", |
630 | | - }, |
631 | | - }, |
632 | | - "handlers": { |
633 | | - "console": { |
634 | | - "level": LOG_LEVEL, |
635 | | - "class": "logging.StreamHandler", |
636 | | - "formatter": LOG_FORMAT, |
637 | | - } |
638 | | - }, |
639 | | - "loggers": { |
640 | | - "": {"level": LOG_LEVEL, "handlers": ["console"]}, |
641 | | - # Not sure why the following loggers are necessary, but it doesn't seem to |
642 | | - # write log messages for e.g. features.workflows.core.models without adding |
643 | | - # them explicitly. |
644 | | - # TODO: move all apps to a parent 'apps' directory and configure the logger |
645 | | - # for that dir |
646 | | - "features": { |
647 | | - "level": LOG_LEVEL, |
648 | | - "handlers": ["console"], |
649 | | - "propagate": False, |
650 | | - }, |
651 | | - "task_processor": { |
652 | | - "level": LOG_LEVEL, |
653 | | - "handlers": ["console"], |
654 | | - "propagate": False, |
655 | | - }, |
656 | | - "app_analytics": { |
657 | | - "level": LOG_LEVEL, |
658 | | - "handlers": ["console"], |
659 | | - "propagate": False, |
660 | | - }, |
661 | | - "webhooks": { |
662 | | - "level": LOG_LEVEL, |
663 | | - "handlers": ["console"], |
664 | | - "propagate": False, |
665 | | - }, |
666 | | - }, |
667 | | - } |
| 612 | +# Logging is configured by flagsmith-common's setup_logging() in ensure_cli_env(), |
| 613 | +# before Django loads. Disable Django's logging config to preserve our setup. |
| 614 | +LOGGING_CONFIG = None |
| 615 | +LOG_FORMAT = env.str("LOG_FORMAT", default="generic") |
| 616 | +LOG_LEVEL = env.str("LOG_LEVEL", default="WARNING") |
668 | 617 |
|
669 | 618 | ENABLE_DB_LOGGING = env.bool("DJANGO_ENABLE_DB_LOGGING", default=False) |
670 | 619 | if ENABLE_DB_LOGGING: |
671 | 620 | if not DEBUG: |
672 | 621 | warnings.warn("Setting DEBUG=True to ensure DB logging functions correctly.") |
673 | 622 | DEBUG = True |
674 | 623 |
|
675 | | - LOGGING["loggers"]["django.db.backends"] = { |
676 | | - "level": "DEBUG", |
677 | | - "handlers": ["console"], |
678 | | - } |
| 624 | + logging.getLogger("django.db.backends").setLevel(logging.DEBUG) |
679 | 625 |
|
680 | 626 | CACHE_FLAGS_SECONDS = env.int("CACHE_FLAGS_SECONDS", default=0) |
681 | 627 | FLAGS_CACHE_LOCATION = "environment-flags" |
|
1442 | 1388 | INSTALLED_APPS.append("licensing") |
1443 | 1389 |
|
1444 | 1390 | PROMETHEUS_ENABLED = env.bool("PROMETHEUS_ENABLED", False) |
1445 | | -PROMETHEUS_HISTOGRAM_BUCKETS = tuple( |
1446 | | - env.list( |
1447 | | - "PROMETHEUS_HISTOGRAM_BUCKETS", |
1448 | | - default=prometheus_client.Histogram.DEFAULT_BUCKETS, |
1449 | | - ) |
1450 | | -) |
1451 | 1391 |
|
1452 | 1392 | DOCGEN_MODE = env.bool("DOCGEN_MODE", default=False) |
1453 | 1393 |
|
|
0 commit comments