|
| 1 | +import logfire |
1 | 2 | import logging |
2 | 3 |
|
3 | 4 | from sqlalchemy import Engine |
4 | 5 | from sqlmodel import Session, select |
5 | 6 | from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed |
6 | 7 |
|
7 | 8 | from app.core.db import engine |
| 9 | +from app.core.logfire_config import configure_logfire |
8 | 10 |
|
9 | | -logging.basicConfig(level=logging.INFO) |
10 | | -logger = logging.getLogger(__name__) |
| 11 | +# Configure logfire |
| 12 | +configure_logfire() |
11 | 13 |
|
12 | 14 | max_tries = 60 * 5 # 5 minutes |
13 | 15 | wait_seconds = 1 |
14 | 16 |
|
| 17 | +logger = logging.getLogger("logfire") |
15 | 18 |
|
16 | 19 | @retry( |
17 | 20 | stop=stop_after_attempt(max_tries), |
18 | 21 | wait=wait_fixed(wait_seconds), |
19 | | - before=before_log(logger, logging.INFO), |
20 | | - after=after_log(logger, logging.WARN), |
| 22 | + before=before_log(logfire, "INFO"), |
| 23 | + after=after_log(logfire, "WARNING"), |
21 | 24 | ) |
22 | 25 | def init(db_engine: Engine) -> None: |
23 | 26 | try: |
24 | 27 | with Session(db_engine) as session: |
25 | 28 | # Try to create session to check if DB is awake |
26 | 29 | session.exec(select(1)) |
27 | 30 | except Exception as e: |
28 | | - logger.error(e) |
| 31 | + logfire.error(e) |
29 | 32 | raise e |
30 | 33 |
|
31 | 34 |
|
32 | 35 | def main() -> None: |
33 | | - logger.info("Initializing service") |
| 36 | + logfire.info("Initializing service") |
34 | 37 | init(engine) |
35 | | - logger.info("Service finished initializing") |
| 38 | + logfire.info("Service finished initializing") |
36 | 39 |
|
37 | 40 |
|
38 | 41 | if __name__ == "__main__": |
|
0 commit comments