From 2500233f20ea385e8ad3ba3a974b8c77494d7f90 Mon Sep 17 00:00:00 2001 From: ebolam Date: Tue, 27 Sep 2022 15:40:46 -0400 Subject: [PATCH] Removed constant transmission of log to UI. Now it pulls last 100 lines when clicked. --- aiserver.py | 21 ++++++++++++++++++-- static/koboldai.js | 36 ++++++++++++++++++---------------- templates/settings flyout.html | 3 ++- 3 files changed, 40 insertions(+), 20 deletions(-) diff --git a/aiserver.py b/aiserver.py index 3125a4e6..d8249170 100644 --- a/aiserver.py +++ b/aiserver.py @@ -481,6 +481,15 @@ def UI_2_logger(message): else: socketio.emit("log_message", data, broadcast=True, room="UI_2") +web_log_history = [] +def UI_2_log_history(message): + conv = Ansi2HTMLConverter(inline=True, dark_bg=True) + data = json.loads(message) + data['html'] = [conv.convert(text, full=False) for text in data['text'].split("\n")] + if len(web_log_history) >= 100: + del web_log_history[0] + web_log_history.append(data) + from flask import Flask, render_template, Response, request, copy_current_request_context, send_from_directory, session, jsonify, abort, redirect, has_request_context from flask_socketio import SocketIO, emit, join_room, leave_room from flask_socketio import emit as _emit @@ -494,8 +503,8 @@ app.config['SESSION_TYPE'] = 'filesystem' app.config['TEMPLATES_AUTO_RELOAD'] = True socketio = SocketIO(app, async_method="eventlet", manage_session=False, cors_allowed_origins='*', max_http_buffer_size=10_000_000) #socketio = SocketIO(app, async_method="eventlet", manage_session=False, cors_allowed_origins='*', max_http_buffer_size=10_000_000, logger=logger, engineio_logger=True) -logger.add(UI_2_logger, serialize=True, colorize=True, enqueue=True) -#logger.add(UI_2_logger, serialize=True, colorize=True) +logger.add(UI_2_log_history, serialize=True, colorize=True, enqueue=True, level="INFO") + #logger.add("log_file_1.log", rotation="500 MB") # Automatically rotate too big file koboldai_vars = koboldai_settings.koboldai_vars(socketio) @@ -8992,6 +9001,14 @@ def UI_2_refresh_auto_memory(data): koboldai_vars.auto_memory += "\n\n Final Result:\n" + output +#==================================================================# +# Test +#==================================================================# +@socketio.on("get_log") +def UI_2_get_log(data): + emit("log_message", web_log_history) + + #==================================================================# # Test #==================================================================# diff --git a/static/koboldai.js b/static/koboldai.js index 588f8c71..b6f7ef4c 100644 --- a/static/koboldai.js +++ b/static/koboldai.js @@ -2047,23 +2047,25 @@ function load_cookies(data) { } } -function process_log_message(data) { - let level = data['record']['level']['name']; - let message = data['record']['message']; - let time = data['record']['time']['repr']; - let full_log = data['text']; - log.push({'level': level, 'message': message, 'time': time, 'full_log': full_log}); - if (level == 'ERROR') { - show_error_message(data['html']); - } - - //put log message in log popup - log_popup = document.getElementById('log_popup'); - log_popup_data = log_popup.querySelector("#popup_list_area") - //clear out the error box - for (item of data['html']) { - $e("div", log_popup_data, {'innerHTML': item, 'classes': ['console_text']}) - $e("br", log_popup_data) +function process_log_message(full_data) { + for (data of full_data) { + let level = data['record']['level']['name']; + let message = data['record']['message']; + let time = data['record']['time']['repr']; + let full_log = data['text']; + //log.push({'level': level, 'message': message, 'time': time, 'full_log': full_log}); + if (level == 'ERROR') { + show_error_message(data['html']); + } + + //put log message in log popup + log_popup = document.getElementById('log_popup'); + log_popup_data = log_popup.querySelector("#popup_list_area") + //clear out the error box + for (item of data['html']) { + $e("div", log_popup_data, {'innerHTML': item, 'classes': ['console_text']}) + $e("br", log_popup_data) + } } } diff --git a/templates/settings flyout.html b/templates/settings flyout.html index 86a6d04b..bb641079 100644 --- a/templates/settings flyout.html +++ b/templates/settings flyout.html @@ -411,6 +411,7 @@