summaryrefslogtreecommitdiff
path: root/src/db/sql.py
diff options
context:
space:
mode:
authorKristofer Hallin <kristofer@sunet.se>2022-04-13 08:39:55 +0200
committerKristofer Hallin <kristofer@sunet.se>2022-04-13 08:39:55 +0200
commit4be9585d0d56046a486e58b4c5b559cabe9f5636 (patch)
tree6b72fe2599e0c43e3f8db2a06e474bf066f0b23b /src/db/sql.py
parent509bf7fe6a4589d525b21f179ce8cb730c0d4e59 (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.py28
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):