28 lines
676 B
Python
28 lines
676 B
Python
from __future__ import annotations
|
|
|
|
import logging
|
|
|
|
import uvicorn
|
|
|
|
from crypto_spot_bot.config import load_settings
|
|
from crypto_spot_bot.dashboard import create_app
|
|
|
|
|
|
def main() -> None:
|
|
settings = load_settings()
|
|
settings.log_path.parent.mkdir(parents=True, exist_ok=True)
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s %(levelname)s %(name)s %(message)s",
|
|
handlers=[
|
|
logging.FileHandler(settings.log_path, encoding="utf-8"),
|
|
logging.StreamHandler(),
|
|
],
|
|
)
|
|
app = create_app(settings)
|
|
uvicorn.run(app, host=settings.host, port=settings.port)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|