### Godot version

v4.1.beta.custom_build [ea6a141ff]

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

I noticed editor log misbehaving when a text is being printed. It seems to be mostly noticeable (or exclusive to?) when collapsing of duplicate messages is enabled.

https://github.com/godotengine/godot/assets/2223172/4ccfaa70-8991-4f5d-95ec-c732600b82ec

It looks like the log rebuilds from scratch with every message. If it had already some content, the text might be printed faster than it appears, causing it to be unreadable:

https://github.com/godotengine/godot/assets/2223172/6b69d308-37f1-4d8f-b47c-09f2e42eda43


### Steps to reproduce

```GDScript
func _process(delta: float) -> void:
	print("spam")
```

### Minimal reproduction project

N/A
Vector2 off;
	bool line_clicked = false;
	float text_rect_begin = 0.0;
	int char_pos = -1;
	Line &l = p_frame->lines[p_line];
	MutexLock lock(l.text_buf->get_mutex());
	bool rtl = (l.text_buf->get_direction() == TextServer::DIRECTION_RTL);
	bool lrtl = is_layout_rtl();
	
	bool table_hit = false;
	Vector2i table_range;
	float table_offy = 0.f;
	ItemFrame *table_click_frame = nullptr;
	int table_click_line = -1;
	Item *table_click_item = nullptr;
	int table_click_char = -1;
	for (int line = 0; line < l.text_buf->get_line_count(); line++) {
		RID rid = l.text_buf->get_line_rid(line);
		float width = l.text_buf->get_width();
		float length = TS->shaped_text_get_width(rid);
		if (rtl) {
			off.x = p_width - l.offset.x - width;
			if (!lrtl && p_frame == main) { 
				off.x -= scroll_w;
			}
		} else {
			off.x = l.offset.x;
			if (lrtl && p_frame == main) { 
				off.x += scroll_w;