34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import logging.config
|
|
from pathlib import Path
|
|
|
|
from setech.utils import get_logger
|
|
|
|
from service.config import settings
|
|
|
|
|
|
def init_logging() -> None:
|
|
from service.config import LOGGING
|
|
|
|
Path("logs").mkdir(parents=True, exist_ok=True)
|
|
logging.config.dictConfig(LOGGING)
|
|
|
|
|
|
def initialize_sentry() -> None:
|
|
if settings.sentry_url:
|
|
try:
|
|
import sentry_sdk # type: ignore
|
|
from sentry_sdk.integrations.fastapi import FastApiIntegration # type: ignore
|
|
from sentry_sdk.integrations.starlette import StarletteIntegration # type: ignore
|
|
|
|
sentry_sdk.init(
|
|
dsn=str(settings.sentry_url),
|
|
enable_tracing=True,
|
|
environment=settings.environment,
|
|
integrations=[
|
|
StarletteIntegration(transaction_style="endpoint"),
|
|
FastApiIntegration(transaction_style="endpoint"),
|
|
],
|
|
)
|
|
except (Exception, ModuleNotFoundError, ImportError) as e: # noqa
|
|
get_logger().exception("Unable to set up Sentry integration", exc_info=e)
|