mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2026-02-28 18:25:24 +00:00
trying to fix logging on server
This commit is contained in:
@@ -70,7 +70,7 @@ def spider(request, path):
|
||||
"""These are simple filename filters set in urls.py that we know we don't have any of in troggle,
|
||||
e.g. urls ending in "_edit_edit" or .php
|
||||
"""
|
||||
return logger404(request, path)
|
||||
return logger404(request, path, "BOGUS PATH ATTACK")
|
||||
# return redirect("/?#") # so that suffixes applied by spider are no longer part of the url
|
||||
|
||||
def map(request):
|
||||
@@ -300,7 +300,7 @@ def logger404(request, path, e=None):
|
||||
logmsg = f"[{meta['REMOTE_ADDR']:>15}] '/{path}' FILE NOT FOUND 404"
|
||||
logger.warning(logmsg)
|
||||
else:
|
||||
logmsg = f"[{meta['REMOTE_ADDR']:>15}] '/{path}' EXCEPTION:'{e}'"
|
||||
logmsg = f"[{meta['REMOTE_ADDR']:>15}] '/{path}' '{e}'"
|
||||
logger.warning(logmsg)
|
||||
return render(request, "pagenotfound.html", {"path": path}, status=404)
|
||||
|
||||
@@ -355,7 +355,7 @@ def expopage(request, path):
|
||||
except FileNotFoundError as e:
|
||||
return logger404(request, path)
|
||||
except Exception as e:
|
||||
return logger404(request, path, e)
|
||||
return logger404(request, path, f"EXCEPTION {e}")
|
||||
|
||||
|
||||
def getmimetype(path):
|
||||
|
||||
15
settings.py
15
settings.py
@@ -89,6 +89,11 @@ PRIMARY_LOG_DIR = Path("/var/log/troggle")
|
||||
FALLBACK_LOG_DIR = Path("/home/psargent/var-log-troggle")
|
||||
log_filename = "troggle.log"
|
||||
|
||||
if DEVSERVER:
|
||||
logging_class = "logging.handlers.RotatingFileHandler"
|
||||
else:
|
||||
logging_class = "logging.handlers.RotatingFileHandler"
|
||||
|
||||
def get_valid_log_path():
|
||||
try:
|
||||
PRIMARY_LOG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
@@ -99,6 +104,14 @@ def get_valid_log_path():
|
||||
except (PermissionError, OSError):
|
||||
FALLBACK_LOG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
return FALLBACK_LOG_DIR / log_filename
|
||||
except Exception as e:
|
||||
FALLBACK_LOG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
logpath = FALLBACK_LOG_DIR / log_filename
|
||||
with logpath.open(mode="a", encoding="utf-8") as lp:
|
||||
stamp = datetime.now().isoformat(sep=' ', timespec='seconds')
|
||||
lp.write(f"{stamp} [000.000.000.000] /var/log/troggle.log EXCEPTION IN SETTING LOG DIR '{e}'\n")
|
||||
return logpath
|
||||
|
||||
|
||||
final_log_path = get_valid_log_path()
|
||||
|
||||
@@ -129,7 +142,7 @@ LOGGING = {
|
||||
"handlers": {
|
||||
"file": {
|
||||
"level": "WARNING",
|
||||
"class": "logging.handlers.RotatingFileHandler",
|
||||
"class": logging_class,
|
||||
"filename": final_log_path,
|
||||
"maxBytes": 1024 * 1024 * 5,
|
||||
"backupCount": 5,
|
||||
|
||||
Reference in New Issue
Block a user