diff --git a/index.html b/index.html
index 6b23a51..fabe4d6 100644
--- a/index.html
+++ b/index.html
@@ -14,11 +14,12 @@ function main(args) {
document.title += ` (${name})`;
setInterval(async () => {
- let result = await invoke('sync');
- let lines = Array.from(result);
+ let result = await Rpc2.invoke('history');
+ let logs = Array.from(result);
- for (let line of lines) {
- node = document.createTextNode(new String(line).concat('\n'));
+ for (let record of logs) {
+ let message = LogRecord.format(record);
+ let node = document.createTextNode(new String(message).concat('\n'));
messages.appendChild(node);
}
messages.scrollTop = messages.scrollHeight;
diff --git a/main.py b/main.py
index 491b60d..f097c46 100644
--- a/main.py
+++ b/main.py
@@ -246,10 +246,15 @@ if __name__ == '__main__':
try:
logging.basicConfig(level=logging.INFO, format="[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s", datefmt="%Y-%m-%d %H:%M")
logger = logging.getLogger()
- logger.info('Initializing...')
level = logging.getLevelNamesMapping().get(args.log_level, 'INFO')
logger.setLevel(level)
- jsonrpc2.run(logger)
+
+ logger.info('Initializing...')
+ history = jsonrpc2.History()
+ logger.addHandler(history)
+ opts = jsonrpc2.Options()
+ jsonrpc2.define('history', lambda: history.truncate())
+ jsonrpc2.run(opts)
logger.info('Creating automation instance')
opts = Options()