From 4be9585d0d56046a486e58b4c5b559cabe9f5636 Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Wed, 13 Apr 2022 08:39:55 +0200 Subject: Use logger for all sorts of logging. Also prepare for writing some logs to a database for audit reasons. --- src/db/sql.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'src/db/sql.py') diff --git a/src/db/sql.py b/src/db/sql.py index c47a69c..858ab6b 100644 --- a/src/db/sql.py +++ b/src/db/sql.py @@ -15,11 +15,12 @@ metadata = Base.metadata class Log(Base): __tablename__ = "log" - id = Column(Integer, primary_key=True) - timestamp = Column(Date, nullable=False, - default=datetime.datetime.utcnow) - username = Column(Text, nullable=False) - logtext = Column(Text, nullable=False) + id = Column(Integer, primary_key=True, server_default=text( + "nextval('log_id_seq'::regclass)")) + name = Column(Text, nullable=False) + level = Column(Text, nullable=False) + msg = Column(Text, nullable=False) + func = Column(Text, nullable=True) def as_dict(self): """Return JSON serializable dict.""" @@ -34,12 +35,17 @@ class Log(Base): return d @classmethod - def add(cls, username, logtext): - with sqla_session() as session: - logentry = Log() - logentry.username = username - logentry.logtext = logtext - session.add(logentry) + def add(cls, name, level, msg, func=""): + try: + with sqla_session() as session: + logentry = Log() + logentry.name = name + logentry.level = level + logentry.msg = msg + logentry.func = func + session.add(logentry) + except Exception as e: + print(f"Failed to add logentry: {e}") class Scanner(Base): -- cgit v1.1