soyailabs / run.py
SOY NV AI
fix: GraphRAG ์ƒ์„ฑ ๋กœ์ง ๊ฐœ์„  ๋ฐ ํšŒ์ฐจ ๋ถ„์„ ํ›„ ์ž๋™ Graph Extraction ์ถ”๊ฐ€
59f2d9e
raw
history blame
2.07 kB
import sys
import os
import logging
from logging.handlers import RotatingFileHandler
# UTF-8 ์ธ์ฝ”๋”ฉ ๊ฐ•์ œ ์„ค์ • (Windows cp949 ์˜ค๋ฅ˜ ๋ฐฉ์ง€)
if sys.platform == 'win32':
sys.stdout.reconfigure(encoding='utf-8')
sys.stderr.reconfigure(encoding='utf-8')
from app import create_app
app = create_app()
# ๋กœ๊น… ์„ค์ • - ์ฝ˜์†”๊ณผ ํŒŒ์ผ ๋ชจ๋‘์— ์ถœ๋ ฅ
if not os.path.exists('logs'):
os.mkdir('logs')
# ํŒŒ์ผ ํ•ธ๋“ค๋Ÿฌ ์„ค์ •
file_handler = RotatingFileHandler('logs/server.log', maxBytes=10240000, backupCount=10)
file_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'
))
file_handler.setLevel(logging.INFO)
# ์ฝ˜์†” ํ•ธ๋“ค๋Ÿฌ ์„ค์ •
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
))
console_handler.setLevel(logging.INFO)
# Flask ์•ฑ ๋กœ๊ฑฐ ์„ค์ •
app.logger.setLevel(logging.INFO)
app.logger.addHandler(file_handler)
app.logger.addHandler(console_handler)
# ๋ฃจํŠธ ๋กœ๊ฑฐ ์„ค์ • (๋ชจ๋“  ๋กœ๊ฑฐ์— ์ ์šฉ)
root_logger = logging.getLogger()
root_logger.setLevel(logging.INFO)
root_logger.addHandler(console_handler)
# Werkzeug ๋กœ๊ฑฐ ์„ค์ • (HTTP ์š”์ฒญ ๋กœ๊น…)
werkzeug_logger = logging.getLogger('werkzeug')
werkzeug_logger.setLevel(logging.INFO)
# Werkzeug์˜ ๊ธฐ๋ณธ ํ•ธ๋“ค๋Ÿฌ ์ œ๊ฑฐํ•˜๊ณ  ์ƒˆ๋กœ ์ถ”๊ฐ€
werkzeug_logger.handlers.clear()
werkzeug_handler = logging.StreamHandler(sys.stdout)
werkzeug_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(levelname)s - %(message)s'
))
werkzeug_logger.addHandler(werkzeug_handler)
app.logger.info('์„œ๋ฒ„ ์‹œ์ž‘')
if __name__ == '__main__':
try:
print(f"[{__name__}] ์„œ๋ฒ„ ์‹œ์ž‘: http://0.0.0.0:5001")
print(f"[{__name__}] ๋กœ๊ทธ๋Š” ์ฝ˜์†”๊ณผ logs/server.log ํŒŒ์ผ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.")
app.run(host='0.0.0.0', port=5001, debug=True, use_reloader=False)
except Exception as e:
print(f"์„œ๋ฒ„ ์‹œ์ž‘ ์˜ค๋ฅ˜: {e}")
import traceback
traceback.print_exc()