Logging minimiert

This commit is contained in:
2025-07-23 14:23:26 +02:00
parent 9e65eda346
commit 4c5371c07f
2 changed files with 21 additions and 4 deletions

View File

@@ -124,9 +124,9 @@ Finde mal eine Datumsrechner- Webapp, die nicht völlig Werbe- und Tracking vers
Dieses Projekt wurde zu nahezu 100% mit Unterstützung künsticher Intelligenz (*[Vibe Coding](https://de.wikipedia.org/wiki/Vibe_Coding)*) erstellt. Das Grundgerüst war nach ca. 45 Minuten fertig gestellt, insgesamt hat die Entwicklung des Projekts ca. 4 Stunden Zeit beansprucht. Dieses Projekt wurde zu nahezu 100% mit Unterstützung künsticher Intelligenz (*[Vibe Coding](https://de.wikipedia.org/wiki/Vibe_Coding)*) erstellt. Das Grundgerüst war nach ca. 45 Minuten fertig gestellt, insgesamt hat die Entwicklung des Projekts ca. 4 Stunden Zeit beansprucht.
### Statistik-Erfassung ### Statistik-Erfassung, Logging
Es werden keine IP-Adressen oder sonstigen persönlichen Daten gespeichert, lediglich die Zahl der Aufrufe der Funktionen in einer kumulierten Darstellung. Es werden keine IP-Adressen oder sonstigen persönlichen Daten gespeichert, lediglich die Zahl der Aufrufe der Funktionen in einer kumulierten Darstellung. Die Logdatei enthält nur Einträge der letzten sieben Tage.
## Lizenz ## Lizenz

21
app.py
View File

@@ -16,7 +16,24 @@ def index():
# Rudimentäres Logging für Page Impressions # Rudimentäres Logging für Page Impressions
log_dir = 'log' log_dir = 'log'
os.makedirs(log_dir, exist_ok=True) os.makedirs(log_dir, exist_ok=True)
with open(os.path.join(log_dir, 'pageviews.log'), 'a', encoding='utf-8') as f: log_path = os.path.join(log_dir, 'pageviews.log')
# Logfile bereinigen: nur Zeilen der letzten 7 Tage behalten
if os.path.exists(log_path):
now = datetime.now()
lines_new = []
with open(log_path, encoding='utf-8') as f:
for line in f:
try:
date_str = line[:10]
date = datetime.strptime(date_str, '%Y-%m-%d')
if (now - date).days <= 7:
lines_new.append(line)
except Exception:
# Zeile ohne Datum behalten (zur Sicherheit)
lines_new.append(line)
with open(log_path, 'w', encoding='utf-8') as f:
f.writelines(lines_new)
with open(log_path, 'a', encoding='utf-8') as f:
from datetime import datetime as dt from datetime import datetime as dt
f.write(f"{dt.now().isoformat()} PAGEVIEW\n") f.write(f"{dt.now().isoformat()} PAGEVIEW\n")
tage = werktage = wochentag = datumsrechnung = werktagsrechnung = kw_berechnen = kw_datum = wochen_monate = None tage = werktage = wochentag = datumsrechnung = werktagsrechnung = kw_berechnen = kw_datum = wochen_monate = None
@@ -24,7 +41,7 @@ def index():
if request.method == 'POST': if request.method == 'POST':
action = request.form.get('action') action = request.form.get('action')
# Funktions-Logging # Funktions-Logging
with open(os.path.join(log_dir, 'pageviews.log'), 'a', encoding='utf-8') as f: with open(log_path, 'a', encoding='utf-8') as f:
from datetime import datetime as dt from datetime import datetime as dt
f.write(f"{dt.now().isoformat()} FUNC: {action}\n") f.write(f"{dt.now().isoformat()} FUNC: {action}\n")
if action == 'tage': if action == 'tage':