kvui: limit UI side logs to by default 1000 messages
This commit is contained in:
parent
cc61f16e57
commit
f7a0542898
|
@ -30,6 +30,8 @@
|
|||
font_size: dp(20)
|
||||
markup: True
|
||||
<UILog>:
|
||||
messages: 1000 # amount of messages stored in client logs.
|
||||
cols: 1
|
||||
viewclass: 'SelectableLabel'
|
||||
scroll_y: 0
|
||||
scroll_type: ["content", "bars"]
|
||||
|
|
8
kvui.py
8
kvui.py
|
@ -508,7 +508,7 @@ class LogtoUI(logging.Handler):
|
|||
|
||||
|
||||
class UILog(RecycleView):
|
||||
cols = 1
|
||||
messages: typing.ClassVar[int] # comes from kv file
|
||||
|
||||
def __init__(self, *loggers_to_handle, **kwargs):
|
||||
super(UILog, self).__init__(**kwargs)
|
||||
|
@ -518,9 +518,15 @@ class UILog(RecycleView):
|
|||
|
||||
def on_log(self, record: str) -> None:
|
||||
self.data.append({"text": escape_markup(record)})
|
||||
self.clean_old()
|
||||
|
||||
def on_message_markup(self, text):
|
||||
self.data.append({"text": text})
|
||||
self.clean_old()
|
||||
|
||||
def clean_old(self):
|
||||
if len(self.data) > self.messages:
|
||||
self.data.pop(0)
|
||||
|
||||
def fix_heights(self):
|
||||
"""Workaround fix for divergent texture and layout heights"""
|
||||
|
|
Loading…
Reference in New Issue