Nicer search logging

This commit is contained in:
Simon 2018-11-17 12:04:59 -05:00
parent d8df91a0d6
commit 372c10b5ab
2 changed files with 10 additions and 4 deletions

13
app.py
View File

@ -287,10 +287,15 @@ def search():
flash("Query failed, this could mean that the search server is overloaded or is not reachable. "
"Please try again later", "danger")
db.log_search(request.remote_addr,
request.headers["X-Forwarded-For"] if "X-Forwarded-For" in request.headers else None,
q, extensions, page, blocked,
hits["hits"]["total"] if hits else -1, hits["took"] if hits else -1)
results = hits["hits"]["total"] if hits else -1
took = hits["took"] if hits else -1
forwarded_for = request.headers["X-Forwarded-For"] if "X-Forwarded-For" in request.headers else None
logger.info("SEARCH '{}' [res={}, t={}, p={}x{}, ext={}] by {}{}"
.format(q, results, took, page, per_page, str(extensions),
request.remote_addr, "_" + forwarded_for if forwarded_for else ""))
db.log_search(request.remote_addr, forwarded_for, q, extensions, page, blocked, results, took)
if blocked:
return redirect("/search")
else:

View File

@ -177,6 +177,7 @@ class ElasticSearchEngine(SearchEngine):
date_max) -> {}:
if self.filter.should_block(query):
logger.info("Search was blocked")
raise InvalidQueryException("One or more terms in your query is blocked by the search filter. "
"This incident has been reported.")