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()