mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2026-04-01 12:41:36 +01:00
Now set up full Django logging for 404
This commit is contained in:
72
settings.py
72
settings.py
@@ -1,5 +1,7 @@
|
||||
import logging
|
||||
import sys
|
||||
from datetime import date
|
||||
from pathlib import Path
|
||||
from socket import gethostname
|
||||
|
||||
"""
|
||||
@@ -76,6 +78,76 @@ USE_L10N = True
|
||||
|
||||
FIX_PERMISSIONS = []
|
||||
|
||||
|
||||
### LOGGING set up here --------------------
|
||||
class RequireDevServerTrue(logging.Filter):
|
||||
"""Filter that only allows records through if DEVSERVER is True."""
|
||||
def filter(self, record):
|
||||
return DEVSERVER
|
||||
|
||||
PRIMARY_LOG_DIR = Path("/var/log/troggle")
|
||||
FALLBACK_LOG_DIR = Path(__file__).parent / "BACKUP_LOGGING"
|
||||
log_filename = "troggle.log"
|
||||
|
||||
try:
|
||||
PRIMARY_LOG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
final_log_path = PRIMARY_LOG_DIR / log_filename
|
||||
except (PermissionError, OSError):
|
||||
FALLBACK_LOG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
final_log_path = FALLBACK_LOG_DIR / log_filename
|
||||
print(f"!! Log permission denied at /var/log. Falling back to: {final_log_path}")
|
||||
|
||||
LOGGING = {
|
||||
"version": 1,
|
||||
"disable_existing_loggers": False,
|
||||
"formatters": {
|
||||
"timestamped": {
|
||||
"format": "{asctime} {message}",
|
||||
# "format": "{levelname} {asctime} {module} {message}",
|
||||
# "format": "{levelname} [{module}:{lineno}] {message}" # for bug reporting
|
||||
"style": "{",
|
||||
"datefmt": "%Y-%m-%d %H:%M:%S", # No milliseconds
|
||||
},
|
||||
"simple": {
|
||||
"format": "{levelname} {asctime} [{module}:{lineno}] {message}",
|
||||
"style": "{",
|
||||
"datefmt": "%Y-%m-%d %H:%M:%S", # No milliseconds
|
||||
},
|
||||
},
|
||||
"filters": {
|
||||
"require_devserver_true": {
|
||||
# Use the full import path to your class
|
||||
# If this is in settings.py, you can use 'settings.RequireDevServerTrue'
|
||||
"()": "settings.RequireDevServerTrue",
|
||||
},
|
||||
},
|
||||
"handlers": {
|
||||
"file": {
|
||||
"level": "WARNING",
|
||||
"class": "logging.handlers.RotatingFileHandler",
|
||||
"filename": final_log_path,
|
||||
"maxBytes": 1024 * 1024 * 5,
|
||||
"backupCount": 5,
|
||||
"formatter": "timestamped",
|
||||
},
|
||||
"console": {
|
||||
"level": "INFO",
|
||||
"filters": ["require_devserver_true"], # Applied here!
|
||||
"class": "logging.StreamHandler",
|
||||
"formatter": "simple",
|
||||
},
|
||||
},
|
||||
"loggers": {
|
||||
"troggle": {
|
||||
"handlers": ["file", "console"],
|
||||
"level": "INFO",
|
||||
"propagate": True,
|
||||
},
|
||||
},
|
||||
}
|
||||
### LOGGING set up end --------------------
|
||||
|
||||
|
||||
# top-level survex file basename (without .svx)
|
||||
# SURVEX_TOPNAME = "1623-and-1626-no-schoenberg-hs"
|
||||
SURVEX_TOPNAME = "troggle_import_root" # same, but without all the 'essentials' gubbins
|
||||
|
||||
Reference in New Issue
Block a user