Config option to disable logging web requests, to spare the log file.

This commit is contained in:
Ian Renton
2026-07-10 12:17:09 +01:00
parent c7b6163440
commit 4d29e0026f
11 changed files with 37 additions and 30 deletions
+4
View File
@@ -211,6 +211,10 @@ clublog-api-key: ""
# Allow submitting spots to the Spothole API?
allow-spotting: true
# Log web requests? Useful to see what your users are requesting in terms of pages and API endpoints, but will fill up
# your log quickly on a popular server.
log-web-requests: false
# Options for the web UI.
web-ui-options:
spot-count: [ 10, 25, 50, 100 ]
+1
View File
@@ -22,6 +22,7 @@ WEB_SERVER_PORT = config["web-server-port"]
ALLOW_SPOTTING = config["allow-spotting"]
WEB_UI_OPTIONS = config["web-ui-options"]
API_ONLY_MODE = config.get("api-only-mode", False)
LOG_WEB_REQUESTS = config.get("log-web-requests", False)
# For ease of config, each spot provider owns its own config about whether it should be enabled by default in the web UI
# but for consistency we provide this to the front-end in web-ui-options because it has no impact outside of the web UI.
+17 -15
View File
@@ -5,7 +5,7 @@ import os
import tornado
from tornado.web import StaticFileHandler
from core.config import ALLOW_SPOTTING, WEB_SERVER_PORT, API_ONLY_MODE
from core.config import ALLOW_SPOTTING, WEB_SERVER_PORT, API_ONLY_MODE, LOG_WEB_REQUESTS
from core.utils import empty_queue
from server.handlers.api.addspot import APISpotHandler
from server.handlers.api.alerts import APIAlertsHandler, APIAlertsStreamHandler
@@ -165,20 +165,22 @@ class WebServer:
pass
def request_log(handler):
"""Custom log function to provide more data about requests."""
"""Custom log function to provide more data about requests when enabled, and to provide the ability to turn off
web request logging altogetether."""
if handler.get_status() < 500:
log_method = logging.info
else:
log_method = logging.warning
if LOG_WEB_REQUESTS:
if handler.get_status() < 500:
log_method = logging.info
else:
log_method = logging.warning
request = handler.request
client_ip = request.remote_ip
referrer = request.headers.get("Referer", "-")
user_agent = request.headers.get("User-Agent", "-")
request = handler.request
client_ip = request.remote_ip
referrer = request.headers.get("Referer", "-")
user_agent = request.headers.get("User-Agent", "-")
log_method(
f'{client_ip} - "{request.method} {request.uri}" '
f'{handler.get_status()} {request.request_time():.2f}ms | '
f'Ref: {referrer} | UA: {user_agent}'
)
log_method(
f'{client_ip} - "{request.method} {request.uri}" '
f'{handler.get_status()} {request.request_time():.2f}ms | '
f'Ref: {referrer} | UA: {user_agent}'
)
+1 -1
View File
@@ -76,7 +76,7 @@
</div>
<script src="/js/add-spot.js?v=1783357126"></script>
<script src="/js/add-spot.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-add-spot").addClass("active");
}); <!-- highlight active page in nav --></script>
+1 -1
View File
@@ -75,7 +75,7 @@
</div>
<script src="/js/alerts.js?v=1783357126"></script>
<script src="/js/alerts.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-alerts").addClass("active");
}); <!-- highlight active page in nav --></script>
+2 -2
View File
@@ -75,8 +75,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1783357126"></script>
<script src="/js/bands.js?v=1783357126"></script>
<script src="/js/spotsbandsandmap.js?v=1783682229"></script>
<script src="/js/bands.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-bands").addClass("active");
}); <!-- highlight active page in nav --></script>
+5 -5
View File
@@ -1,6 +1,6 @@
{% extends "skeleton.html" %}
{% block head_extra %}
<link rel="stylesheet" href="/css/style.css?v=1783357126" type="text/css">
<link rel="stylesheet" href="/css/style.css?v=1783682229" type="text/css">
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
@@ -10,10 +10,10 @@
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
<script src="/js/utils.js?v=1783357126"></script>
<script src="/js/ui-ham.js?v=1783357126"></script>
<script src="/js/geo.js?v=1783357126"></script>
<script src="/js/common.js?v=1783357126"></script>
<script src="/js/utils.js?v=1783682229"></script>
<script src="/js/ui-ham.js?v=1783682229"></script>
<script src="/js/geo.js?v=1783682229"></script>
<script src="/js/common.js?v=1783682229"></script>
{% end %}
{% block body %}
<div class="container">
+1 -1
View File
@@ -284,7 +284,7 @@
</div>
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
<script src="/js/conditions.js?v=1783357126"></script>
<script src="/js/conditions.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-conditions").addClass("active");
}); <!-- highlight active page in nav --></script>
+2 -2
View File
@@ -95,8 +95,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1783357125"></script>
<script src="/js/map.js?v=1783357125"></script>
<script src="/js/spotsbandsandmap.js?v=1783682229"></script>
<script src="/js/map.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-map").addClass("active");
}); <!-- highlight active page in nav --></script>
+2 -2
View File
@@ -116,8 +116,8 @@
<script>
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
</script>
<script src="/js/spotsbandsandmap.js?v=1783357125"></script>
<script src="/js/spots.js?v=1783357125"></script>
<script src="/js/spotsbandsandmap.js?v=1783682229"></script>
<script src="/js/spots.js?v=1783682229"></script>
<script>$(document).ready(function () {
$("#nav-link-spots").addClass("active");
}); <!-- highlight active page in nav --></script>
+1 -1
View File
@@ -59,7 +59,7 @@
</div>
</div>
<script src="/js/status.js?v=1783357126"></script>
<script src="/js/status.js?v=1783682229"></script>
<script>
$(document).ready(function () {
$("#nav-link-status").addClass("active");