From 702ab34154b32ba847965155d4a30d248df104c6 Mon Sep 17 00:00:00 2001 From: norohind <60548839+norohind@users.noreply.github.com> Date: Sun, 28 Nov 2021 14:03:39 +0300 Subject: [PATCH] Add logging for models --- model/__init__.py | 5 +++-- model/postgres_model.py | 3 +++ model/sqlite_model.py | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/model/__init__.py b/model/__init__.py index be054ac..5494971 100644 --- a/model/__init__.py +++ b/model/__init__.py @@ -21,8 +21,9 @@ elif env_choose == 'sqlite': model = Sqlite3Model() else: - logger.info('Using sqlite DB') - model = Sqlite3Model() + logger.error(f'Unknown DB {env_choose!r}') + + assert False, 'env variable DB_NAME must be "postgres" or "sqlite"' model.open_model() diff --git a/model/postgres_model.py b/model/postgres_model.py index f078d3e..04b60da 100644 --- a/model/postgres_model.py +++ b/model/postgres_model.py @@ -27,12 +27,15 @@ class PostgresModel(AbstractModel): database=os.environ['DB_DATABASE'], # test0 cursor_factory=psycopg2.extras.DictCursor) + logger.info(f'Connected to {self.db.dsn}') + with self.db: with self.db.cursor() as cursor: cursor.execute(postgres_sql_requests.schema_create) # schema creation def close_model(self): self.db.close() + logger.info(f'Connection to {self.db.dsn} closed successfully') def get_activity_changes(self, platform: str, leaderboard_type: str, limit: int, low_timestamp, high_timestamp)\ -> list: diff --git a/model/sqlite_model.py b/model/sqlite_model.py index 5e322cf..e4a5c9f 100644 --- a/model/sqlite_model.py +++ b/model/sqlite_model.py @@ -18,6 +18,8 @@ class Sqlite3Model(AbstractModel): def open_model(self): self.db = sqlite3.connect('squads_stat.sqlite3', check_same_thread=False) + logger.debug(f'Connected to squads_stat.sqlite3') + self.db.executescript(sqlite_sql_requests.schema_create) # schema creation # thx https://stackoverflow.com/a/48789604 @@ -25,6 +27,7 @@ class Sqlite3Model(AbstractModel): def close_model(self): self.db.close() + logger.info(f'Connection to squads_stat.sqlite3 closed successfully') def get_activity_changes(self, platform: str, leaderboard_type: str, limit: int, low_timestamp, high_timestamp)\ -> list: