working on preparing journal loggin
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -3,5 +3,5 @@ package de.srsoftware.umbrella.journal;
|
||||
import de.srsoftware.umbrella.messagebus.events.Event;
|
||||
|
||||
public interface JournalDb {
|
||||
void logEvent(Event event);
|
||||
void logEvent(Event<?> event);
|
||||
}
|
||||
|
||||
@@ -3,12 +3,16 @@ package de.srsoftware.umbrella.journal;
|
||||
import de.srsoftware.configuration.Configuration;
|
||||
import de.srsoftware.umbrella.core.BaseHandler;
|
||||
import de.srsoftware.umbrella.core.ModuleRegistry;
|
||||
import de.srsoftware.umbrella.core.model.Message;
|
||||
import de.srsoftware.umbrella.messagebus.EventListener;
|
||||
import de.srsoftware.umbrella.messagebus.MessageBus;
|
||||
import de.srsoftware.umbrella.messagebus.events.Event;
|
||||
|
||||
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingFieldException;
|
||||
import static de.srsoftware.umbrella.journal.Constants.CONFIG_DATABASE;
|
||||
import static de.srsoftware.umbrella.messagebus.MessageBus.messageBus;
|
||||
import static java.lang.System.Logger.Level.INFO;
|
||||
|
||||
|
||||
public class JournalModule extends BaseHandler implements EventListener {
|
||||
@@ -20,11 +24,12 @@ public class JournalModule extends BaseHandler implements EventListener {
|
||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
||||
journalDb = new SqliteDb(connect(dbFile));
|
||||
ModuleRegistry.add(this);
|
||||
messageBus().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(Event event) {
|
||||
LOG.log(System.Logger.Level.DEBUG,"{0} @ {1} ({2})",event.eventType(),event.module(),event.initiator());
|
||||
public void onEvent(Event<?> event) {
|
||||
LOG.log(DEBUG,"{0} @ {1} (by {2})",event.eventType(),event.module(),event.initiator().name());
|
||||
journalDb.logEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,11 +32,11 @@ public class SqliteDb extends BaseDb implements JournalDb{
|
||||
|
||||
private void createJournalTable() {
|
||||
var sql = """
|
||||
CREATE TABLE {0} (
|
||||
CREATE TABLE IF NOT EXISTS {0} (
|
||||
{1} INT PRIMARY KEY,
|
||||
{2} INT,
|
||||
{3} VARCHAR(255) NOT NULL,
|
||||
{4} VARCHAR(16) NUT NULL,
|
||||
{4} VARCHAR(16) NOT NULL,
|
||||
{5} TEXT
|
||||
);
|
||||
""";
|
||||
@@ -49,7 +49,7 @@ public class SqliteDb extends BaseDb implements JournalDb{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logEvent(Event event) {
|
||||
public void logEvent(Event<?> event) {
|
||||
try {
|
||||
insertInto(TABLE_JOURNAL,USER_ID,MODULE,ACTION,DESCRIPTION)
|
||||
.values(event.initiator().id(), event.module(), event.eventType(), event.describe())
|
||||
|
||||
Reference in New Issue
Block a user