Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +19 -4
src/streamlit_app.py
CHANGED
@@ -1046,15 +1046,30 @@ elif menu == "뉴스 기사 예약하기":
|
|
1046 |
with tab3:
|
1047 |
st.subheader("스케줄러 제어 및 상태")
|
1048 |
|
1049 |
-
# 로그
|
1050 |
-
|
|
|
|
|
|
|
1051 |
try:
|
1052 |
with open('/tmp/crawler.log', 'r') as f:
|
1053 |
logs = f.readlines()
|
1054 |
-
|
1055 |
except Exception as e:
|
1056 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1057 |
|
|
|
1058 |
col1, col2 = st.columns(2)
|
1059 |
|
1060 |
with col1:
|
|
|
1046 |
with tab3:
|
1047 |
st.subheader("스케줄러 제어 및 상태")
|
1048 |
|
1049 |
+
# 로그 뷰어를 상단에 배치
|
1050 |
+
st.subheader("실시간 로그")
|
1051 |
+
log_container = st.empty()
|
1052 |
+
|
1053 |
+
def update_logs():
|
1054 |
try:
|
1055 |
with open('/tmp/crawler.log', 'r') as f:
|
1056 |
logs = f.readlines()
|
1057 |
+
return ''.join(logs[-100:]) # 최근 100줄만 표시
|
1058 |
except Exception as e:
|
1059 |
+
return f"로그 파일을 읽을 수 없습니다: {str(e)}"
|
1060 |
+
|
1061 |
+
# 로그 자동 업데이트
|
1062 |
+
if st.checkbox("로그 자동 업데이트", value=True):
|
1063 |
+
log_content = update_logs()
|
1064 |
+
log_container.text_area("최근 로그", value=log_content, height=400)
|
1065 |
+
else:
|
1066 |
+
if st.button("로그 새로고침"):
|
1067 |
+
log_content = update_logs()
|
1068 |
+
log_container.text_area("최근 로그", value=log_content, height=400)
|
1069 |
+
|
1070 |
+
st.divider()
|
1071 |
|
1072 |
+
# 스케줄러 제어
|
1073 |
col1, col2 = st.columns(2)
|
1074 |
|
1075 |
with col1:
|