Advertisement
alex0sunny

app.py

Jan 30th, 2025
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. import logging
  2. import logstash
  3. import random
  4.  
  5. from flask import Flask, request
  6.  
  7.  
  8. app = Flask(__name__)
  9.  
  10. app.logger = logging.getLogger(__name__)
  11. app.logger.setLevel(logging.INFO)
  12.  
  13. app.logger.addHandler(logstash.LogstashHandler('logstash', 5044, version=1))
  14. # Handler отвечают за вывод и отправку сообщений. В модуль logging доступно несколько классов-обработчиков
  15. # Например, SteamHandler для записи в поток stdin/stdout, DatagramHandler для UDP, FileHandler для syslog
  16. # LogstashHandler не только отправляет данные по TCP/UDP, но и форматирует логи в json-формат.
  17.  
  18. logging.basicConfig(level=logging.INFO)
  19.  
  20.  
  21. @app.before_request
  22. def before_request():
  23.     request_id = request.headers.get('X-Request-Id')
  24.     if not request_id:
  25.         raise RuntimeError('request id is requred')
  26.  
  27.  
  28. @app.route('/')
  29. def index():
  30.     result = random.randint(1, 50)
  31.     app.logger.info(f'Пользователю досталось число {result}')
  32.     return f"Ваше число {result}!"
  33.  
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement