diff options
author | Kristofer Hallin <kristofer@sunet.se> | 2022-04-13 08:39:55 +0200 |
---|---|---|
committer | Kristofer Hallin <kristofer@sunet.se> | 2022-04-13 08:39:55 +0200 |
commit | 4be9585d0d56046a486e58b4c5b559cabe9f5636 (patch) | |
tree | 6b72fe2599e0c43e3f8db2a06e474bf066f0b23b /src/db/sql.py | |
parent | 509bf7fe6a4589d525b21f179ce8cb730c0d4e59 (diff) |
Use logger for all sorts of logging. Also prepare for writing some logs to a database for audit reasons.feature.scanners
Diffstat (limited to 'src/db/sql.py')
-rw-r--r-- | src/db/sql.py | 28 |
1 files changed, 17 insertions, 11 deletions
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): |