-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflask_example.py
More file actions
49 lines (36 loc) · 965 Bytes
/
flask_example.py
File metadata and controls
49 lines (36 loc) · 965 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"""Flask middleware example for LogTide Python SDK."""
from flask import Flask
from logtide_sdk import ClientOptions, LogTideClient
from logtide_sdk.middleware import LogTideFlaskMiddleware
app = Flask(__name__)
# Initialize LogTide client
client = LogTideClient(
ClientOptions(
api_url="http://localhost:8080",
api_key="lp_your_api_key_here",
)
)
# Add middleware
LogTideFlaskMiddleware(
app,
client=client,
service_name="flask-api",
log_requests=True,
log_responses=True,
log_errors=True,
include_headers=False,
include_body=False,
skip_health_check=True,
skip_paths=["/metrics"],
)
@app.route("/")
def index():
return {"message": "Hello from Flask!"}
@app.route("/users/<int:user_id>")
def get_user(user_id):
return {"id": user_id, "name": "John Doe"}
@app.route("/error")
def error_route():
raise ValueError("Test error")
if __name__ == "__main__":
app.run(port=3000)