Marco Zeisler f76e4bfdb2 implemented logging to redis;
added api points to show logs;
2021-06-02 20:47:05 +02:00

50 lines
1.2 KiB
Python

import json
import threading
from flask import Flask
from flask_redis import Redis
from redis import StrictRedis
from event_logger import EventLogger
LOG_TO_REDIS = True
VERBOSE = True
# make sure redis (container) is running and accessible
# see https://flask-and-redis.readthedocs.io/en/latest/
# see https://github.com/andymccurdy/redis-py
app = Flask(__name__)
app.config["REDIS_HOST"] = "redis"
app.config["REDIS_PORT"] = 6379
redis: StrictRedis = Redis(app)
@app.route("/api/keys")
def api_get_keys():
return json.dumps([key.decode() for key in redis.keys()])
@app.route("/api/keys/<key>/")
def api_get_of_key(key):
key = redis.get(key)
return key.decode() if key else json.dumps("")
@app.route("/")
def get_keys():
keys = redis.keys()
keys.sort()
return 'Existing keys:<br><br>{}'.format(
['<a href="/api/keys/{0}/">{0}</a>'.format(key.decode()) for key in keys]) + \
'<br><br>Access Api via <br><br>' \
'GET /api/keys<br>' \
'GET /api/keys/&lt;key&gt;<br>'
if __name__ == '__main__':
el = EventLogger(redis, LOG_TO_REDIS, VERBOSE)
threading.Thread(target=el.setup_msq_queue).start()
threading.Thread(target=app.run, args=('0.0.0.0', 5001)).start()