File size: 673 Bytes
4f52ef2
d6c2517
 
 
2257645
d6c2517
 
 
 
 
ae065d3
d6c2517
 
 
 
2257645
d6c2517
 
 
 
 
2257645
d6c2517
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import streamlit as st
from io import StringIO
import contextlib
import sys

# Redirect stdout and stderr
original_stdout = sys.stdout
original_stderr = sys.stderr
sys.stdout = StringIO()
sys.stderr = StringIO()

@st.cache
def capture_logs(func):
    with contextlib.redirect_stdout(sys.stdout), contextlib.redirect_stderr(sys.stderr):
        func()

# Get captured log messages
def get_captured_logs():
    captured_stdout = sys.stdout.getvalue()
    captured_stderr = sys.stderr.getvalue()
    return captured_stdout, captured_stderr

# Restore original stdout and stderr
def restore_original_streams():
    sys.stdout = original_stdout
    sys.stderr = original_stderr