flask log 보기
Flask가 구동 중일 때 로그를 확인하는 방법은 어떻게 실행했는지에 따라 달라집니다. 아래에서 일반적인 실행 방식별로 로그 확인 방법을 정리해드릴게요.
✅ 1. 개발 서버에서 직접 실행한 경우 (예: flask run 또는 python app.py)
이 경우, 로그는 실행한 터미널에 출력됩니다.
$ flask run
또는
$ python app.py
이렇게 실행하면 콘솔에 다음과 같은 로그가 나옵니다:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [22/May/2025 10:00:00] "GET / HTTP/1.1" 200 -
🔍 여기에 요청 로그, 오류 메시지, print() 출력 등도 함께 표시됩니다.
✅ 2. 백그라운드에서 실행하거나 nohup으로 실행한 경우
nohup python app.py > flask.log 2>&1 &
이렇게 했다면 로그는 flask.log 파일에 저장됩니다.
확인 방법:
tail -f flask.log
✅ 3. 로그 파일을 명시적으로 저장하고 싶을 때 (코드 수정 필요)
Flask 코드에서 logging을 설정하면 로그 파일을 남길 수 있습니다:
import logging
logging.basicConfig(filename='flask.log', level=logging.DEBUG)
app = Flask(__name__)
이렇게 하면 flask.log에 로그가 저장됩니다.
✅ 4. systemd 등으로 서비스 등록했을 경우
systemd를 통해 서비스로 실행했다면 journalctl을 사용하여 로그를 봅니다:
sudo journalctl -u flask.service -f
서비스 이름이 다를 경우, 해당 서비스 이름으로 바꿔주세요.
필요하다면 로그를 자세히 남기는 방법이나 에러만 따로 보는 방법도 도와드릴 수 있어요. Flask를 어떤 방식으로 실행하고 계신지 알려주시면 더 정확하게 설명드릴게요!
--------------------
터미널을 닫은 상태에서 Flask가 실행 중인 경우, 백그라운드에서 계속 실행되고 있을 가능성이 높습니다. 이럴 경우 해당 프로세스를 찾아서 종료(Kill) 하고, 다시 재실행하면 됩니다.
다음은 단계별 설명입니다:
✅ 1. 실행 중인 Flask 프로세스 확인
ps aux | grep flask
또는 (Flask가 python으로 실행되었을 수 있으므로):
ps aux | grep python
예시 출력:
user 12345 0.1 ... python app.py
여기서 12345가 PID (Process ID) 입니다.
✅ 2. Flask 프로세스 종료
해당 PID를 이용해 프로세스를 종료합니다:
kill 12345
강제 종료가 필요할 경우:
kill -9 12345
✅ 3. Flask 서버 재실행
다시 실행할 때는 로그를 남기거나 백그라운드에서 실행하면 편리합니다:
nohup python app.py > flask.log 2>&1 &
이렇게 하면:
- flask.log에 로그가 저장되고,
- Flask는 터미널을 닫아도 계속 실행됩니다.
로그 확인:
tail -f flask.log
✅ (선택) Flask 종료 & 실행을 편하게 하려면?
👉 pkill을 활용한 빠른 종료:
pkill -f flask
또는
pkill -f app.py
👉 간단한 재시작 스크립트 만들기:
#!/bin/bash
pkill -f app.py
nohup python app.py > flask.log 2>&1 &
필요하다면 systemd 서비스 등록으로 더 안정적인 서버 운영도 가능해요. 관심 있으시면 알려주세요!